Currently showing src/net/jtank/io/FileUtil.java
package net.jtank.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.StringReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.File;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import java.awt.event.*;
import java.util.List;
import java.util.ArrayList;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.URLConnection;
public class FileUtil {
public static BufferedReader getFileSpecificBufferedReader (String filename) throws IOException {
BufferedReader br = null;
if (filename.lastIndexOf(":/") == -1) {
br = new BufferedReader(new InputStreamReader( new FileInputStream(filename), "UTF-8"));
} else {
try {
URL url = new URL(filename);
URLConnection conn = null;
InputStreamReader data = null;
conn = url.openConnection();
conn.connect();
br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
} catch (MalformedURLException e) {
}
}
return br;
}
public static String fileChooser (Component component, String title, FileFilter filter, String workingDir, String defaultExt) {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File (workingDir ));
try {
fileChooser.addChoosableFileFilter(filter);
} catch (NullPointerException e) {
}
fileChooser.setDialogTitle(title);
int result = fileChooser.showOpenDialog(component);
String sep = System.getProperty("file.separator");
if(result == JFileChooser.APPROVE_OPTION) {
String addition = "";
if (defaultExt != null && fileChooser.getSelectedFile().getName().lastIndexOf(".") == -1) {
addition = "." + defaultExt;
}
workingDir = fileChooser.getCurrentDirectory().toString();
String tmp = fileChooser.getCurrentDirectory().getAbsolutePath()+sep + fileChooser.getSelectedFile().getName() + addition;
System.out.println(tmp);
return tmp;
} else {
return null;
}
}
public static String getBaseDirectory () {
try {
File f = new File("");
String baseDirectory = f.getAbsolutePath() + "/";
return baseDirectory;
} catch (Exception e) {
return "";
}
}
public static String getContents (BufferedReader br) throws IOException {
if (br == null)
throw new IOException ();
String fileContents = "";
String line = br.readLine();
while (line != null) {
fileContents += line + "\n";
line = br.readLine();
}
return fileContents;
}
public static void writeFile(String filename, String text) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), "UTF-8"));
bw.write(text);
bw.close();
}
}
Total 120 Lines of Code.
|
Source code formatted using showsrc by William Denniss
|