2011-08-11 12 views
1

JFileChooserを使用してJavaアプリケーションのJTextAreaにテキストファイルコンテンツをインポートする方法は?JavaアプリケーションのJTextAreaにテキストファイルのコンテンツをインポートする方法は?

+0

。とにかく何を試しましたか?あなたはまったくそれを試したように見えません。 – DaMainBoss

+0

@mwdar:次回は自分で試して、質問に問題のあるコードを含めてください。 – maerics

答えて

7

は、次のコードのようなものでなければなりません:

JFileChooser chooser = new JFileChooser(); 
int returnVal = chooser.showOpenDialog(null); //replace null with your swing container 
File file; 
if(returnVal == JFileChooser.APPROVE_OPTION)  
    file = chooser.getSelectedFile();  
} 

JTextArea text = new JTextArea(); 
BufferedReader in = new BufferedReader(new FileReader(file)); 
String line = in.readLine(); 
while(line != null){ 
    text.append(line + "\n"); 
    line = in.readLine(); 
} 

ルカ

+1

-1、はい私はこれが動作することを知っています。しかし、私は車輪を再発明する投票ソリューションを選ぶ傾向があります。すべてのテキストコンポーネントは、使用すべきread(...)メソッドをサポートしています。 – camickr

+1

@camickr私は私たちが車輪を再発明してはならないことに同意する...とにかく私はあなたの提案を見つけることができないと私はあなたがなぜ唯一の鉱山に投票した、コードを掲示する。 – Maverik

+2

私の提案は、read(..)メソッドを使用することでした。私はこれが受け入れられた答えであり、私はフォーラムを検索し、この答えを見つける人々がそれを使用するのを望んでいないので、投票しました。 – camickr

1

チューザから与えられたファイル名を決定し、(例えばStringBuilderを使用して)文字列にファイルの内容を読んで、設定JTextField#setText(String)を使用して、JTextAreaの内容をバッファの内容に変換します。

2

ファイルの内容をJTextAreaにインポートするには、次の手順に従います。

  1. フレームを作成し、JTextAreaを追加します。
  2. JFileChooserを宣言して初期化します。
  3. JFileChooserにリスナーを追加します。
  4. あなたのactionPerformedでは、選択したファイルを取り出し、このファイルを読み込む方法に渡す必要があります(下記のNBを参照)。
  5. この方法では、ファイルリーダーを開いてファイルの内容を1行ずつ読み込みます。これを行うと、各行がJTextAreaに追加されます。
  6. ファイルの最後に到達すると、ファイルリーダーを閉じます。
  7. プログラムを実行してください。

上記の手順は、タスクを実行するのに十分です。しかし、あなたが試してみると、私は自分の投稿を編集し、可能な解決策を追加します。

NB:JFileChooserでファイルを選択すると、File型のObjectが返されることに注意してください。次に、Fileクラスが提供するgetName()メソッドを使用して、ファイルの名前を取得する必要があります。

リンクが役立つ可能性があります。あなたは、軍事、素敵なコマンドでなければなりません
JFileChooser
File
Java tutorials on how to use the JFileChooser

3

Document Viewer

import java.awt.BorderLayout; 
import java.awt.event.*; 
import javax.swing.*; 
import java.io.File; 

class DocumentViewer { 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       final JFrame f = new JFrame("Document Viewer"); 
       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

       final JFileChooser fileChooser = new JFileChooser(); 

       JPanel gui = new JPanel(new BorderLayout()); 

       final JEditorPane document = new JEditorPane(); 
       gui.add(new JScrollPane(document), BorderLayout.CENTER); 

       JButton open = new JButton("Open"); 
       open.addActionListener(new ActionListener() { 
        public void actionPerformed(ActionEvent ae) { 
         int result = fileChooser.showOpenDialog(f); 
         if (result==JFileChooser.APPROVE_OPTION) { 
          File file = fileChooser.getSelectedFile(); 
          try { 
           document.setPage(file.toURI().toURL()); 
          } catch(Exception e) { 
           e.printStackTrace(); 
          } 
         } 
        } 
       }); 
       gui.add(open, BorderLayout.NORTH); 

       f.setContentPane(gui); 
       f.pack(); 
       f.setSize(400,300); 
       f.setLocationByPlatform(true); 

       f.setVisible(true); 
      } 
     }); 
    } 
} 
0
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    JFileChooser jf = new JFileChooser(); 
    final JEditorPane document = new JEditorPane(); 
    int returnval=jf.showDialog(this, null); 
    File file = null; 
    if(returnval == JFileChooser.APPROVE_OPTION)  
    file = jf.getSelectedFile(); 
    String str ; 
    try { 
     byte bt[]= Files.readAllBytes(file.toPath()); 
     str=new String(bt,"UTF-8"); 
     System.out.println(str); 
    } catch (IOException ex) { 
     Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 
関連する問題