在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ java讀取文件內(nèi)容錯(cuò)誤,確實(shí)在這個(gè)目錄下

java讀取文件內(nèi)容錯(cuò)誤,確實(shí)在這個(gè)目錄下


package com.typesafe.config;

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

public class ReadFile {
    /**
     * 以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件
     */
    public static void readFileByChars(String fileName) {
        File file = new File(fileName);
        Reader reader = null;
        try {
            System.out.println("以字符為單位讀取文件內(nèi)容,一次讀一個(gè)字節(jié):");
            // 一次讀一個(gè)字符
            reader = new InputStreamReader(new FileInputStream(file));
            int tempchar;
            while ((tempchar = reader.read()) != -1) {
                // 對(duì)于windows下,\r\n這兩個(gè)字符在一起時(shí),表示一個(gè)換行。
                // 但如果這兩個(gè)字符分開(kāi)顯示時(shí),會(huì)換兩次行。
                // 因此,屏蔽掉\r,或者屏蔽\n。否則,將會(huì)多出很多空行。
                if (((char) tempchar) != '\r') {
                    System.out.print((char) tempchar);
                }
            }
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            System.out.println("以字符為單位讀取文件內(nèi)容,一次讀多個(gè)字節(jié):");
            // 一次讀多個(gè)字符
            char[] tempchars = new char[30];
            int charread = 0;
            reader = new InputStreamReader(new FileInputStream(fileName));
            // 讀入多個(gè)字符到字符數(shù)組中,charread為一次讀取字符數(shù)
            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!";
        //顯示文件內(nèi)容
        ReadFile.readFileByChars(fileName);
    }
}

圖片描述

回答
編輯回答
兔囡囡

報(bào)錯(cuò)信息中提示是37行有問(wèn)題,我數(shù)了下是下面這行

reader = new InputStreamReader(new FileInputStream(fileName));
我看到你兩次初始化reader,我想是不是跟這個(gè)有關(guān)系

2017年6月29日 00:05
編輯回答
刮刮樂(lè)

目錄結(jié)構(gòu)是什么樣的?去掉 ../ 試試,如果application.conf在resources目錄,直接用文件名字

2018年6月22日 16:15