编程要求:
在C:盘根目录下创建纯文本文件 test.txt,并键入下列内容:呦呦鹿鸣,食野之蒿。今夕何夕,见此良人。桃之夭夭,灼灼其华。如月之恒,如日之升。巧笑倩兮,美目盼兮。琴瑟在御,莫不静好。投我以桃木,报之以琼瑶。伐木丁丁,鸟鸣嘤嘤。出自幽谷,迁于乔木。编写程序,读入上述文件,并把内容在控制台上输出。
编码解析:
import java.io.*;public class JavaIO { public static void main(final String[] args){ FileInputStream reader = null; BufferedReader bufferedReader = null; String line = null; InputStreamReader isr = null; try { String filePath = "C:\\Users\\10593\\test.txt"; //至于这里为什么要双斜杠见下文 File file = new File(filePath); reader = new FileInputStream(file); isr = new InputStreamReader(reader,"UTF-8"); //这里的UTF-8就是前文提到的文件的编码格式,要与你的文件的编码格式相同,不然会出现乱码 //标准的字节流,按照一定的编码格式,转换为字符流。如果读取字符流的时候,使用的是系统默认的编码格式,(微软的一般是GBK) //则直接使用fileReader和fileWriter。如果需要指定编码格式,则使用inputStreamReader和OutputStreamWrite bufferedReader = new BufferedReader(isr); while ((line = bufferedReader.readLine())!= null){ System.out.println(line); } }catch (FileNotFoundException e){ System.err.println(e.getMessage()); e.printStackTrace(); }catch (IOException e) { System.err.println(e.getMessage()); e.printStackTrace(); }finally { try { reader.close(); } catch (Exception e) { e.printStackTrace(); } } }}
补充:
1.上传文件路径为什么要双斜杠?
解析:由于我们是把路径当成是一个字符串传进去的,在字符串中斜杠“\”被当做转义字符识别,所以要用“\(这里是两个斜杠,可能显示出来是一个)”才能表示一个斜杠。
2.要指定文件格式吗?
解析: 标准的字节流,按照一定的编码格式,转换为字符流。如果读取字符流的时候,使用的是系统默认的编码格式,(微软的一般是GBK),则直接使用fileReader和fileWriter。如果需要指定编码格式,则使用inputStreamReader和OutputStreamWrite 。
联系客服