Atif_karim :
public static void Replace_Record(String editTerm, String newItem, String newAmount, String newPrice){
String filepath="temp_Food_Item.txt";
String tempfile= "temp_Food_Item_temp.txt";
File oldFile= new File(filepath);
File newFile=new File(tempfile);
String item=""; String quantity=""; String price="";
System.out.println("working ");
try{
//System.out.println("working pt1");
FileWriter fw= new FileWriter(tempfile,true);
BufferedWriter bw= new BufferedWriter(fw);
PrintWriter pw= new PrintWriter(bw);
x = new Scanner(new File(filepath));
x.useDelimiter("[,/n]");
//System.out.println("working pt2");
while(x.hasNext()){
//System.out.println("working pt3");
item=x.next();
quantity=x.next();
price=x.next();
if(item.equalsIgnoreCase(editTerm)){
pw.println(newItem+","+newAmount+","+newPrice);
}
else{
//System.out.println("working pt4 ");
pw.println(item+","+quantity+","+price);
}
}
x.close();
pw.flush();
pw.close();
oldFile.delete();
File dump=new File(filepath);
newFile.renameTo(dump);
}
catch(Exception e){
System.out.println("Error declared");
}
}
내가 디버깅하고 중지하십시오 도움을 잡으려고 간다 PT1 작업 후 발견, 그래서 내가 잘못 어디로 갔는지 이해가 안하지만 인쇄 "오류 선언"? 추가 정보는 다음과 같습니다 내가 레스토랑에 대한 데이터베이스를 만드는 중이라서 나는 순서에 TXT 파일의 정보를 입력하고 , ITEM_NAME의, item_amount ITEM_PRICE을 , 그것을 먼저 이론적으로, 나는 주에서 나의 새로운 가치를 복용 방법에 전달하고, 그래서 그것이 내가 제거 싶어 문자열에 제공 한 다음을 대체하고 실제 파일에서 문자열을 복사 다시 때까지 파일을 복제합니다. 하지만이를 실행할 때마다 나는 캐치를 얻을.
TIA
PaianganuOm :
내가 바로 귀하의 질문에 대답 할 수는 없지만, 나는 몇 가지 아이디어를 제공 할 수 있습니다.
첫째, 좀 더 명시 적으로 예외를 잡는 등 예외 : IOException, FileNotFoundException이 등을. 더 명시 적으로 코드를 가지고 일반적으로 좋은 습관이며 향상된 오류 처리의 첫 걸음입니다.
또한, 함께 무언가를 재 기동을 위해 당신은 당신의 콘솔에 인쇄하고 그 정보를 사용할 수있는 디버깅 프로그램을. 그것은 당신의 오류가 어디 그것이 정확히 무엇인지를 알 수 있습니다.