Java文件读写(两种方式)

来源:互联网 发布:淘宝上开店怎么找货源 编辑:程序博客网 时间:2024/05/31 06:24
读取文件
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.Scanner;public class test11 {/** * @param args * @throws FileNotFoundException  * @throws UnsupportedEncodingException  */public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {// TODO Auto-generated method stubFile file=new File("H:\\1.txt");//方法一    scanner 读取Scanner scanner=new Scanner(file);String temp;    while(scanner.hasNext()){    temp=scanner.nextLine();    System.out.println(temp);    }          //方法二    字节流读取    FileInputStream fis=new FileInputStream(file);    InputStreamReader isr=new InputStreamReader(fis, "gbk");    BufferedReader br=new BufferedReader(isr);    String str;    try {while((str=br.readLine())!=null){System.out.println(str);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

对于方法一文件读取中文乱码的问题,可以将工作空间编码格式设置为gbk




写文件

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.RandomAccessFile;import java.io.UnsupportedEncodingException;import java.util.Scanner;@SuppressWarnings("unused")public class test11 {/** * @param args * @throws IOException  */public static void main(String[] args) throws IOException {// TODO Auto-generated method stubFile file=new File("H:\\1.txt");//文件写入RandomAccessFile rf=new RandomAccessFile(file, "rw");rf.seek(rf.length());String str="test";str=str+"\r\n";rf.write(str.getBytes("gbk"));rf.close();//字节流写入FileOutputStream fos=new FileOutputStream(file,true);OutputStreamWriter osw=new OutputStreamWriter(fos);BufferedWriter bw=new BufferedWriter(osw);String str2="test";str2=str2+"\r\n";bw.write(str2);bw.close();osw.close();fos.close();}}

        两种方法,都不会覆盖原来文件的内容


0 0