나는 다소 자바를 처음 접했고 누군가 나를 도울 수 있기를 바랬다. 나는 어디에서나 보았지만 해결책을 찾는 것처럼 보이지 않습니다. 메서드의 결과를 bufferedwriter를 사용하여 파일에 저장하려고합니다. bufferedwriter 자체는 다른 문자열을 저장하는 방식으로 작동하지만이 함수는 'null'만 표시합니다. 이 메서드의 결과가 둘 이상의 문자열을 반환하기 때문입니까? 어떻게 해결할 수 있습니까?Bufferedwriter가 파일에 * 모든 것을 저장하지 않음
의 BufferedWriter 코드 :
public static boolean saveStringToFile (String fileName, String saveString)
{
boolean saved = false;
BufferedWriter bw = null;
try
{
bw = new BufferedWriter(new FileWriter(fileName));
try
{
bw.write(saveString);
saved = true;
}
finally
{
bw.close();
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
return saved;
}
기능 자체 : BufferedWriter의
public static void generateNetReport()
{
saveStringToFile("Net.txt","here is the thing.." + "\n" + netDetails);
}
을 사용하여 파일에
public static void getNetDetails()
{
try {
Process net = Runtime.getRuntime().exec("lsof -i -n -P");
BufferedReader netInput = new BufferedReader(
new InputStreamReader(net.getInputStream()));
while ((netDetails = netInput.readLine()) !=null)
{
System.out.println(netDetails);
System.out.println("\n");
}
}
catch(IOException e) {
System.out.println("exception happened - here are the details: ");
e.printStackTrace();
}
}
저장 기능 내 코드는 다음과 같습니다
누군가가 netDetails를 파일에 저장하는 방법에 대해 도움을받을 수 있습니까? (. 편집)
코드가 누락 된 것 같습니다. 'generateNetReport'와'saveStringToFile'을 어디에서 호출할까요? – cdeszaq
saveStringToFile은 버퍼링 된 작성자 코드의 이름이며 generateNetReport가 main 함수에 만들어집니다. 위에 제공된 코드는 원래 클래스의 스 니펫 일뿐입니다. – Sham