开发者社区> 问答> 正文

java读取文件内容错误,确实在这个目录下。报错

"

 package com.typesafe.config;

import java.io.File; import java.io.IOException; import java.io.Reader; import java.io.*;

public class ReadFile { /** * 以字符为单位读取文件,常用于读文本,数字等类型的文件 */ public static void readFileByChars(String fileName) { File file = new File(fileName); Reader reader = null; try { System.out.println("以字符为单位读取文件内容,一次读一个字节:"); // 一次读一个字符 reader = new InputStreamReader(new FileInputStream(file)); int tempchar; while ((tempchar = reader.read()) != -1) { // 对于windows下,\r\n这两个字符在一起时,表示一个换行。 // 但如果这两个字符分开显示时,会换两次行。 // 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。 if (((char) tempchar) != '\r') { System.out.print((char) tempchar); } } reader.close(); } catch (Exception e) { e.printStackTrace(); } try { System.out.println("以字符为单位读取文件内容,一次读多个字节:"); // 一次读多个字符 char[] tempchars = new char[30]; int charread = 0; reader = new InputStreamReader(new FileInputStream(fileName)); // 读入多个字符到字符数组中,charread为一次读取字符数 while ((charread = reader.read(tempchars)) != -1) { // 同样屏蔽掉\r不显示 if ((charread == tempchars.length) && (tempchars[tempchars.length - 1] != '\r')) { System.out.print(tempchars); } else { for (int i = 0; i < charread; i++) { if (tempchars[i] == '\r') { continue; } else { System.out.print(tempchars[i]); } } } }

    } catch (Exception e1) {
        e1.printStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e1) {
            }
        }
    }
}

public static void main(String[] args) {
    String fileName = "../conf/application.conf";
    String content = "new append!";
    //显示文件内容
    ReadFile.readFileByChars(fileName);
}

}

"

展开
收起
因为相信,所以看见。 2020-05-27 12:58:49 663 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    "

    目录结构是什么样的?去掉 ../ 试试,如果application.conf在resources目录,直接用文件名字

    ######

    报错信息中提示是37行有问题,我数了下是下面这行

    reader = new InputStreamReader(new FileInputStream(fileName));
    我看到你两次初始化reader,我想是不是跟这个有关系

    "
    2020-05-27 16:24:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载