2014-01-22 1 views
0

channel_size와 file_length가 다른 상황이 있습니까? new File(name).length() 항상 주어진 경로를 확인하기 때문에Java Channel.size() vs File.length

File file = new File(name); 
FileInputStream stream = new FileInputStream(file); 
FileChannel channel = stream.getChannel(); 
long channel_size = channel.size(); 
long file_length = file.length(); 
+0

두 값을 모두 출력하고 다른 값으로 표시되는 이유는 무엇입니까? –

+0

@ JoshM 나는 OP가 그렇지 않은 상황을 찾고 있다고 생각합니다. –

답변

0

그들은 다를 수 있습니다 : 아래의 코드 예제를 참조하십시오. FileInputStream을 사용하면 어떤 일이 일어나 든 파일에 첨부됩니다.

예를 들어, Linux에서는 사용중인 파일의 이름을 바꾸거나 대체하거나 삭제할 수 있습니다. FileInputStream은 원본 파일 크기를 계속 제공하지만 File은 대체 파일을 제공합니다.

+0

감사합니다. 정확히 알고 싶습니다. – Matt