سلام للجميع ..
--------------------
هناك طريقتين - ربما أكثر- أعرفهم لقراءة ملفات من نوع .txt
1 - استعمال الفئة FileInputStream و هو يأخذ الملف المُراد قراءته ، ثم يمُرر للفئة BufferedInputStream و به الدالة read() من خلاله تقرأ الملف .
2 -استعمال الفئة FileInputStream و هو يأخذ الملف المُراد قراءته ، ثم يمُرر للفئة InputStreamReader - يعمل كقنطرة بين ال byte Stream and char stream - الذى بدوره يُمرر للفئة
BufferedReader
--------------------------------------------------------------------------------
المشهد الأول :
-----------------------
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileChooserTest extends JFrame {
private JButton button;
private JPanel panel;
private JFileChooser fileChooser;
private File file = null;
private JTextArea area;
private FileInputStream fileInputStream = null;
private BufferedInputStream bufferedInputStream = null;
public FileChooserTest() {
fileChooser = new JFileChooser();
area = new JTextArea(50, 60);
///////////////////////////////////////////////
panel = new JPanel(new FlowLayout());
button = new JButton("open");
panel.add(button);
panel.add(area);
getContentPane().add(panel, BorderLayout.CENTER);
////////////////////////////////////////////////
fileChooser.setSelectedFile(new File(".txt"));
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int returnValue = fileChooser.showOpenDialog(FileChooserTest.this);
if (returnValue == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
int i;
try {
fileInputStream = new FileInputStream(file);
bufferedInputStream = new BufferedInputStream(fileInputStream);
StringBuilder stringBuilder = new StringBuilder();
try {
while ((i = bufferedInputStream.read()) != -1) {
stringBuilder.append((char) i);
}
area.setText(stringBuilder.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
}
});
}
public static void main(String[] args) {
FileChooserTest fileChooserTest = new FileChooserTest();
fileChooserTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fileChooserTest.setSize(new Dimension(600, 300));
fileChooserTest.setLocationRelativeTo(null);
fileChooserTest.setVisible(true);
}
}
---------------------------------------
المشهد الثانى :
-----------------------
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileChooserTest extends JFrame {
private JButton button;
private JPanel panel;
private JFileChooser fileChooser;
private File file = null;
private JTextArea area;
private FileInputStream fileInputStream = null;
private BufferedReader bufferedReader = null;
public FileChooserTest() {
fileChooser = new JFileChooser();
area = new JTextArea(50, 60);
///////////////////////////////////////////////
panel = new JPanel(new FlowLayout());
button = new JButton("open");
panel.add(button);
panel.add(area);
getContentPane().add(panel, BorderLayout.CENTER);
////////////////////////////////////////////////
fileChooser.setSelectedFile(new File(".txt"));
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int returnValue = fileChooser.showOpenDialog(FileChooserTest.this);
if (returnValue == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
String text;
try {
fileInputStream = new FileInputStream(file);
bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
StringBuilder textBuilder = new StringBuilder();
try {
while ((text = bufferedReader.readLine()) != null) {
textBuilder.append(text);
}
area.setText(textBuilder.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
}
});
}
public static void main(String[] args) {
FileChooserTest fileChooserTest = new FileChooserTest();
fileChooserTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fileChooserTest.setSize(new Dimension(600, 300));
fileChooserTest.setLocationRelativeTo(null);
fileChooserTest.setVisible(true);
}
}و من لديه طرق أخرى يتحفُنا بها :)
-----------------------------------------
الرجاء من الإخوة المشرفين تغير العنوان إلى " طرق قراءة الملف " لإنه قبل أن يكون موضوع كانت مشكلة :lol:
شكراً لكم