2011-09-30 7 views
2

파일 크기 및 내용을 서버로 보내는 클라이언트를 작성하려고합니다.Java에서 DataOutputStream을 사용하여 파일 보내기

DataOutputStream을 사용하려고합니다.

파일을 열고 파일 크기를 가져와 내용을 읽고 보내야한다고 가정합니다.

그러나 나는 그 나는 자바에 정말 새로운이기 때문에 구현하는 방법을 모르겠습니다 ...

사람이 이것에 대해 좀 도와 줄래?

감사합니다.

답변

3

코드는 매우 간단하지만 코드를 모두 작성하는 데 시간이 오래 걸리고 숙제와 비슷합니다.

몇 가지 표시를 할 수 있습니다.

파일을 열면 크기가 Filelong length() 메서드를 사용하고 DataOutputStreamwriteLong(long) 메서드를 사용하여 길이를 서버로 보냅니다. 그런 다음 한 번에 한 블록 씩 파일을 읽고 메서드를 DataOutputStream으로 사용하여 각 블록을 보냅니다.

한 번에 한 블록 씩 파일을 읽으려면 FileInputStream을 만들고 int read(byte[]) 메서드를 사용하면됩니다. 이 metod가 보장 할 수 없기 때문에 전체 버퍼를 채울 것이라고 가정하지 않도록주의하십시오. 문서 읽기!

+0

나는 본다. 파일을 열기 전에 경로를 지정해야합니까? 예를 들면. 파일 file = 새 파일 (filename), 파일 이름에 경로가 있어야합니까? 왜냐하면 내가 할려고 할 때마다 열리지 않기 때문이야 .. –

+0

그것은 달려있다. 전체 경로를 지정하지 않으면 CWD (현재 작업 디렉토리)에서 시작하여 파일을 검색합니다. 현재 작업 디렉토리는'java' 명령 줄 응용 프로그램을 실행할 때 터미널과 현재 작업하고있는 디렉토리입니다. . .jar 또는 .class 파일의 디렉토리는 관련이 없지만 * CWD와 동일 할 수도 있습니다. – gd1

+0

나는 실제로 컴파일하고 일식을 실행 중이다. 내가 열려고하는 파일은 내가 쓰고있는 .java 파일과 같은 디렉토리에있다. 그것들은/src 디렉토리에 있습니다. 실제로 모든 .class 파일은/bin이라는 다른 디렉토리로 이동합니다. 파일이 현재 디렉토리에 있어야한다고 가정합니다. 또는 나는 틀린가? 도움 주셔서 대단히 감사합니다. –