「java实验io」Java实验报告

博主:adminadmin 2023-03-18 12:53:07 547

本篇文章给大家谈谈java实验io,以及Java实验报告对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

关于java中的io操作 新手有些不懂

String str="helloworld";

//将str转换成字节数组输入流中

ByteArrayInputStream bis=new ByteArrayInputStream(str.getBytes());

//输出流

ByteArrayOutputStream bos=new ByteArrayOutputStream();

int temp=0;//因为每次read读的都是数量,所以是int类型

while((temp=bis.read())!=-1){

//bis.read();是读输入流里面的字节,返回的是读的数量,给了temp。读完这个下次循环自动读下一个字节。读到未,读不到了,就返回-1.所有while在-1是停止循环

char c=(char)temp;//将读到的字节转换成字符,一个英文一个字节

bos.write(Character.toLowerCase(c));

//读到的字节转成小写的字节写到输出流里面(toUpperCase才是大写)

}

String newStr=bos.toString();//将输出流数组里面的字节给newStr

bis.close();//关闭流

bos.close();//关闭流

System.out.println(newStr);//打印

java Io 测试,如下:

你那句:fos.write(b, 0, b.length); 有问题, 应该换成 fos.write(b, 0, temp);

你的int temp = fis.read(b, 0, b.length); 这句返回的temp就是每次读到的长度.

OutputStream 的write(byte[] b, int off, int len);这个方法, 意思是把b这个数组中从第off个开始往后的len个长度写到输出流.

关于int temp = fis.read(b, 0, b.length); 这句话,

在fis读最后一次的时候, 读到的实际长度不一定是你数组定义的长度

你可以想象一下fis读最后两次

假如倒数第二次读到的是 [0, 1, 1, 0, 1, 1, 0] // 假如这就是你定义的1024长度数组

最后一次读的升序不够1024, 比如只读了三个, 此时b 就是 [1, 1, 0, 0, 1, 1, 0] // 注意后边四个扔是上一次读到的值.

你本应该把fis读到的前三个长度(也就是你的temp变量那么多个)写到fos里, 而实际上你把整个数组(也就是你的b.length)全写了,你多写了好多,所以to.txt比from.txt长度大.

你要把InputStream每次所读到的实际长度的写到OutputStream里,而不是盲目地把整个数组都写出去。

我感觉我说得有点罗嗦, 不知道给你说明白没有。不懂的可以给你再解释。

最后一定要fos.close(); fis.close();

Java io编写

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

public class Jie {

public static void main(String [] args) throws IOException{

File file=new File("C:\\Users\\Administrator.ZJ2IWINY6JJYMTT\\Desktop\\2.txt");

InputStream isr=new FileInputStream(file);

int r=isr.read();

String result="";

while(r!=-1){

result=result+(char)r;

r=isr.read();

}

String sp[]=result.split(",");

System.out.print(sp[11]);

isr.close();

}

}

第二题:

import java.util.Scanner;

public class UpCase {

public static void main(String [] args){

Scanner input=new Scanner(System.in);

System.out.print("请输入字母:");

String a=input.next();

String b=a.toUpperCase();

System.out.print(b);

}

}

第三题:那个编码表是啥意思?

关于java实验io和Java实验报告的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。