int data;
File f = new File("/sdcard/text4.txt");
FileOutputStream outputStream = null;
FileInputStream inputStream = null;
BufferedOutputStream bout = null;
BufferedInputStream bin = null;
try {
inputStream = new FileInputStream(result);
bin = new BufferedInputStream(inputStream);
outputStream = new FileOutputStream(f,true);
bout = new BufferedOutputStream(outputStream);
byte[] buffer = new byte[10000];
bin.read(buffer);
if(buffer.length>5000)
bout.write(buffer);
if(f.length()>100000)
{
bin.close();
bout.close();
}
} catch (Exception e) { e.printStackTrace(); }
*/
위의 소스가 제가 작성한 소스인데요. result 변수가 string 변수인데 bin.read(buffer) 이 부분에서
버퍼에 쓰여지는거 아닌가요? 그래서 버퍼의 사이즈가 일정크기가 넘으면 버퍼의 데이터를 파일에 복사하는 부분인데
어디가 틀렸는지 궁금합니다...이거때문에 며칠을 해매네요...파일아웃풋 부분 계속 봐도 헷갈리네요..ㅠㅠ
님말씀대로 해당 부분이 버퍼(buffer 변수)에 쓰는게 맞습니다.
그리고 result(이게 파일인지 소켓인지 모르겠지만)에서 한번에 10000byte(님이 설정하신)를 읽어서 bout.write(buffer); 이부분을 타겠죠.. buffer의 길이는 님이 설정한데로(byte[] buffer = new byte[10000];)항상 5000을 넘을테니깐요.
문제가 Exception도 없이 파일이 안써진다는 건가요? 아니면 Exception이 발생한다는 건가요? 아니면 bout.write(buffer);부분을 안탄다는 건가요? 아니면 읽어와 지지가 안는다는 건가요?
Exception이 나면 해당 Exception을 살펴봐야겟고.. 읽거나 쓰기가 않되는거라면 권한에대해 살펴 보셔야 할거 같습니다.