2016-08-05 16 views
-2

私のプログラムがWindows上で動作しない理由を解決しようとしています。置き換え用プログラム

私はUbuntu 16.04でそれをテストし、すべて正常に動作します。私の友人はMacでそれをテストし、同じ結果を出しました。

私の最初のアイデアは - 間違った経路でした。しかし、私たちがテストしたパスはOKです。問題はおそらく、ウィンドウがファイルを作成しないことです。私は他のコードをコメントし、txtも作成されませんでした。

すべての回答がうれしいです。私の英語と私のコードのために申し訳ありません:)

クラスに置き換えますバックスラッシュ(バックスラッシュが考慮されているまたはダブルバックスラッシュを使用するように変更し、パスをしてみてください

package gui; 


import java.awt.GridLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.io.IOException; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.swing.*; 
import model.Replace; 

/** 
* 
* @author pepek 
*/ 
public class Okno extends JFrame { 

    private JButton btnGlass; 

    public Okno() { 



     setLayout(new GridLayout(0,2)); 

     btnGlass = new JButton("Pozice skla"); 
     btnGlass.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\02_pozice_skla\\02_pozice_skla_data_new.txt"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 


     add(btnGlass); 

     JButton btnElement = new JButton("Pozice elementu"); 
     btnElement.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\05_pozice_elementu\\05_pozice_elementu.TXT"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 


     add(btnElement); 

     JButton btnFireElement = new JButton("Vytvrzení elementu"); 
     btnFireElement.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\07_pozice_elementu_vytvrdnuti\\07_pozice_elementu_vytvrdnuti_data.TXT"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 


     add(btnFireElement); 

     JButton btnUhelSpaceru = new JButton("Úhel spaceru"); 
     btnUhelSpaceru.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\08_uhel_spaceru\\08_uhel_spaceru.TXT"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 

     add(btnUhelSpaceru); 

     JButton btnPozice = new JButton("Pozice ASIC a PCB"); 
     btnPozice.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\09a_pozice_asic_pcb\\09a_pozice_asic_pcb.TXT"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 


     add(btnPozice); 

     JButton btnVyska = new JButton("Výška ASIC a PCB"); 
     btnVyska.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\10a_vyska_asic_pcb\\10a_vyska_asic_pcb.txt"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 


     add(btnVyska); 

     JButton btnVyskaSpaceru = new JButton("Vytvrzení elementu"); 
     btnVyskaSpaceru.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       try { 
        Replace.replaceInFile("D:\\merove programy\\15_vyska_spaceru\\15_vyska_spaceru.txt"); 

       } catch (IOException ex) { 
        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     }); 


     add(btnVyskaSpaceru); 

     setTitle("Find&Replace App"); // "super" Frame sets its title 
     setSize(750, 300); 
     setVisible(true); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 

    } 

    public static void main(String[] args) { 
     new Okno(); 
    } 

} 
+0

コードをページに掲載してください。リンクしないでください。 –

+0

コードが追加されました@PauloSoares –

答えて

-1

package model; 

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.io.Reader; 

/** 
* 
* @author pepek 
*/ 
public class Replace { 


    public static void replaceInFile(String fileName) throws IOException { 
    File file = new File(fileName); 
    // fileName = "/home/pepek/Desktop/Share/09a_pozice_asic_pcb.txt"; 

    File tempFile = File.createTempFile("buffer", ".tmp"); 
    FileWriter fw = new FileWriter(tempFile); 

    Reader fr = new FileReader(file); 
    BufferedReader br = new BufferedReader(fr); 

    while(br.ready()) { 
     fw.write(br.readLine().replace(".", ",") +"\n"); 
    } 

    fw.close(); 
    br.close(); 
    fr.close(); 

    // Finally replace the original file. 
    tempFile.renameTo(file); 
} 
} 

Oknoクラスwindowsはパスにバックスラッシュを使用し、linuxunixはスラッシュを使用するため、

+0

私はすでに試しました。 –

関連する問題