Heim > Java > javaLernprogramm > Java IO-Wissenspunkte

Java IO-Wissenspunkte

(*-*)浩
Freigeben: 2019-10-19 16:10:28
nach vorne
2828 Leute haben es durchsucht

Java IO-Wissenspunkte

1:file:文件的创建和删除;

File file=new File("D:\\word.txt");绝对路径
File file=new File("word.txt");相对路径
if(!file.exists()) { file.createNewFile();} 不存在时,创建新的
if(file.exists()) { file.delete();} 存在时,删除操作
file.length();汉字两个字节一个,字母空格数字一个字节一个,换行两个字节。(long)
file.isFile()判断是否存在
file.canRead()判断是否可以读
file.canWrite();判断是否被写入
file.getAbsolutePath()获取绝对路径
file.lastModified()最后的修改时间(long)
Nach dem Login kopieren

2:文件输入输出流

文件txt的写入当执行流的时候文件内容会被清空,读取不会清空文件内容

FileInputStream和FileOutputStream类(读取,写入)
 File file=new File("D:\\word.txt");
FileOutputStream out=new FileOutputStream (file);//写入
byte bite[]="abcdefg牛123*?!#".getBytes();
out.write(bite);//在文件中写入相应信息
out.close();
FileInputStream in=new FileInputStream (file);//读取
byte bite2[]=new byte[1024];
int len=in.read(bite2);//从文件中读取信息。返回字节数,符号数字字母一个字节,汉字两个字节
System.out.println(new String(bite2,1,len-2));//字节数组,初始结尾输出bcdefg牛123*?
System.out.println(len);//输出16
in.close();//关闭流
Nach dem Login kopieren

FileReader和FileWriter类(读取,写入)

File file=new File("D:\\word.txt");
FileWriter out=new FileWriter(file);//写入
String a="hellow张三\n";
out.write(a);
out.write(a);
out.close();//关闭流
FileReader in=new FileReader(file);//读取
char ch[]=new char[1024];
in.read(ch); 
System.out.println(ch);//hellow张三
//hellow张三 当输出ch[7]=三,ch[8]="";ch[9]=h;换行中间有一个空
in.close();//关闭流
Nach dem Login kopieren

两类的区别在于FileInputStream和FileOutputStream类(读取,写入)处理字节流,很适合处理音频等文件不适合处理汉字文档,因为汉字和英文字母不同两个字节,而FileReader和FileWriter类(读取,写入)适合处理字符文本内容,不会乱码。

3:带缓存的输入,输出流

BufferedInputStream和BufferedOutputStream
BufferedInputStream(InputStream in)//32个字节缓存流
BufferedInputStream(InputStream in,int size)//size个字节缓存流
BufferedOutputStream(OutputStream out)
BufferedOutputStream(OutputStream out,int size);
BufferedWriter和BufferedReader
Nach dem Login kopieren
 String a[]= {"张三你好","李四你好","李四你好"};
		File file=new File("D:\\word.txt");
		FileWriter out=new FileWriter(file);//写入
		BufferedWriter bufw=new BufferedWriter (out);
		for(int i=0;i<3;i )
		{
			bufw.write(a[i]);//写入
			bufw.newLine();//换行,写入一个行分隔符
		}
		bufw.close();
	 out.close();//关闭流
	 FileReader in=new FileReader(file);//读取
	 BufferedReader bufr=new BufferedReader(in);
	 String s=null;	 
	 while((s= bufr.readLine())!=null)
	 {System.out.println(s);}
	 //一定要赋值,readLine()是一种动态方法返回字符串。不可 while(bufr.readLine()=null)System.out.println(bufr.readLine());}
	 //这样就默认调用了两次函数。。。
	 bufr.close();
	 in.close();//关闭流
	 /*
	 * 输出:
	 * 张三你好
	 * 李四你好
	 * 李四你好
	 */
Nach dem Login kopieren

4:数据输入,输出流

DateInputStream和DateOutputStream
DateInputStream(InputStream in)使用指定基础的InputStream创建
DateOutputStream(OutputStream out)
DateOutputStream三种写入字符串方法
writeBytes(String s) java 字符是双字节的,将字符的低字节内容录入。
writeChars(String s) 每个字符的两个字节内容
writeUTF(String s) 将字符按照utf编码录入
DateInputStream读取字符串
readUTF();
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonJava IO-Wissenspunkte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage