덮어 쓰지 않도록 파일 위치를 확인하려고합니다. 이 목적을 위해 FileChannel
과 함께 사용할 수있는 position()
메서드가 있으므로 FileInputStream
을 사용해야합니다. BufferedReader
은 위치를 유지하지 않습니다.FileInputStream을 통해 파일을 가져 오지 못합니까?
내 코드는 다음과 같습니다
FileChannel fc = null;
FileInputStream fis = null;
int i=0;
long pos;
char c;
fis = new FileInputStream("File.txt");
while((i=fis.read())!=-1)
{
fc = fis.getChannel();
pos = fc.position();
c = (char)i;
System.out.print("No of bytes read: "+pos);
System.out.println("; Char read: "+c);
}
내가 java.io.FileNotFoundException
무엇입니까 :
/doneQuestionDetail.txt: open failed: ENOENT (No such file or directory)
이 오류는이 파일이 exsist하지 않기 때문에 위치에서 파일을 받고되지 않음을 의미 내가 BufferedReader
를 사용하는 경우 :
BufferedReader inputReader = new BufferedReader(
new InputStreamReader(openFileInput("File.txt")));
이 줄에는 오류가 없습니다. aning 파일이 있고 FileInputStream
파일을 가져 오지 못했습니다. 귀하의 제안에 대한
java.io.FileNotFoundException: /mnt/sdcard/imotax/File.txt: open failed: ENOENT (No such file or directory)
희망 : 나는 오류를 얻고 자
String extr = Environment.getExternalStorageDirectory().toString();
File mFolder = new File(extr + "/imotax");
String s = "doneQuestionDetail.txt";
File f = new File(mFolder.getAbsolutePath(), s);
fis = new FileInputStream(f);
: 같은
검색 한 후 처음 위치를 확인하고 FileInputStream
에게주고있어, 그럼 내가 코드를 변경 . 감사.