2013-08-10 4 views
1

Я застрял в нечетной ситуации. Мне нужно создать файл .dat с именем abc.dat, но проблема в том, что когда я его создаю, то в моем диске c: я проверяю этот файл с расширением. Дат не создается вместо файла с создается тип расширения _auto_file, пожалуйста, посоветуйте, как я могу исправить мой код так, что .dat файл с расширением получить создан ...процесс создания файла поврежден

if (totaltsers.size()>0){ 
    try {// Generate a file 
     //File file = new File(

     String finalfilename= abamfilepath+ getFileName(); 
     System.out.println(finalfilename); 

     File file = new File(abamfilepath+ getFileName()); 
     FileOutputStream fileOutputStream = null; 
     OutputStreamWriter outputStreamWriter = null; 
     BufferedWriter bw = null; 

     Charset charset = Charset.forName("UTF-8"); 
     CharsetEncoder charsetEncoder = charset.newEncoder(); 
     charsetEncoder.onMalformedInput(CodingErrorAction.IGNORE); 
     fileOutputStream = new FileOutputStream(file.getPath()); 
     outputStreamWriter = new OutputStreamWriter(fileOutputStream, charsetEncoder); 
     bw = new BufferedWriter(outputStreamWriter); 

     if (file.exists()){ 
      file.delete(); 
     } 

     for (tser tser : totaltsers) { 
      for (toabj bk : books) { 
       //if (tser.toabjdfr() == null) 
       if((tser.toabjdfr() == null) &&(tser.ghjk() == null)){ 
        bw.write("aaa"); 
       } 
       else if (tser.toabjdfr() == null && tser.ghjk() != null){ 
        bw.write("bb");  
       } 
       else if (tser.toabjdfr() != null && tser.ghjk() == null){ 
        bw.write("ccc");  
       } 
      else 
        bw.write("ddd"); 
       bw.newLine(); 
      } 
     }  
     bw.flush(); 
     bw.close(); 
     fileOutputStream.close(); 
     outputStreamWriter.close(); 
    } 
    catch (Exception e){ 
     String message = "Ate exception : " + e.getMessage(); 
     System.err.println(message); 
     logger.error(message); 
    } 
} 

ниже являются построить имя файла

public String getFileName() { 
    return buildFileName(); 
} 

private String buildFileName() { 
    String filename = "abc"; 
    filename = filename+".dat"; 
    return filename; 

Я внес изменения в соответствии с предложением, но все еще не работает .., но он все еще не работает работает, пожалуйста, сообщите

String finalfilename= abamfilepath+ getFileName(); 
     System.out.println(finalfilename); 
      File file = new File(abamfilepath + getFileName()); 
      FileOutputStream fileOutputStream = new FileOutputStream(file.getPath()); 
       OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); 
       BufferedWriter bw = new BufferedWriter(outputStreamWriter); 
       if (file.exists()) { 
       file.delete(); 
      } 


      file.createNewFile(); 




    } 

вопрос остается тот же Дат файл не получить создан вместо этого файл типа _auto_file GT создан размер 0

ответ

0

Это должно работать

File outFile = new File("numbers.dat"); 
    BufferedWriter writer = new BufferedWriter(new FileWriter(outFile)); 
    writer.write("12"); 
    writer.close(); 

Если вы все еще не может создать файл, может быть, это связано с разрешением на root-диск Windows. Установлена ​​ли ваша операционная система на диске C? Если да, попробуйте изменить местоположение, в котором вы создаете файл.

Смежные вопросы