package threadgroup;
成都創(chuàng)新互聯公司是一家專業(yè)提供托克托企業(yè)網站建設,專注與網站建設、成都網站制作、H5高端網站建設、小程序制作等業(yè)務。10年已為托克托眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)的建站公司優(yōu)惠進行中。
class ThreadDemo3 extends Thread {
private String name;
private int delay;
public ThreadDemo3(String sname, int i_delay) {
name = sname;
delay = i_delay;
}
public void run() {
try {
sleep(delay);
} catch (InterruptedException e) {
}
System.out.println("多線程測試!\n" + name + "\n" + delay);
}
}
public class testMyThread {
public static void main(String[] args) {
ThreadDemo3 th1,th2,th3;
th1 = new ThreadDemo3("線程1", (int) (Math.random() * 900));
th2 = new ThreadDemo3("線程2", (int) (Math.random() * 900));
th3 = new ThreadDemo3("線程3", (int) (Math.random() * 900));
th1.start();
th2.start();
th3.start();
}
}
package threadgroup;
public class threadDemo {
public static void main(String[] args) {
Thread t = Thread.currentThread();
t.setName("你好嗎?");
System.out.println("正在進行的Thread是:" + t);
try {
for (int i = 0; i 5; i++) {
System.out.println("我不叫穆繼超" + i);
Thread.sleep(3000);
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("Thread has wrong" + e.getMessage());
}
}
}
package threadgroup;
public class threadDemo2 implements Runnable {
public threadDemo2() {
Thread t1 = Thread.currentThread();
t1.setName("第一個主進程");
System.out.println("正在運行" + t1);
Thread t2 = new Thread(this, "");
System.out.println("在創(chuàng)建一個進程");
t2.start();
try {
System.out.println("使他進入第一個睡眠狀態(tài)");
Thread.sleep(2000);
} catch (InterruptedException e) {
System.out.println("Thread has wrong" + e.getMessage());
}
System.out.println("退出第一個進程");
}
public void run() {
try {
for (int i = 0; i 5; i++) {
System.out.println("進程" + i);
Thread.sleep(3000);
}
} catch (InterruptedException e) {
// TODO: handle exception
System.out.println("Thread has wrong" + e.getMessage());
}
System.out.println("退出第二個進程");
}
public static void main(String[] args) {
new threadDemo2();
}
}
至少你現在這個代碼“{”比“}”多一個。還有你好像引用了一些不存在的類阿!
class ExitWindow extends WindowAdaper
應該是class ExitWindow extends WindowAdapter
改了一些你的代碼
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MiniDrawPad extends JFrame {
private JButton choices[];
private String names[]={
"New",
"Open",
"Save",
"Pencil",
"Line",
"Rect",
"fRect",
"Oval",
"fOval",
"Circle",
"fCircle",
"RoundRect",
"frRect",
"Rubber",
"Color",
"Stroke",
"Word" };
private Icon items[];
JToolBar buttonPanel ; //定義按鈕面板
private JLabel statusBar; //顯示鼠標狀態(tài)的提示條
private DrawPanel drawingArea; //畫圖區(qū)域
private int width=800,height=550; //定義畫圖區(qū)域初始大小
JCheckBox bold,italic; //定義字體風格選擇框
JComboBox styles;
public MiniDrawPad() //構造函數
{
super("Drawing Pad");
JMenuBar bar=new JMenuBar(); //定義菜單條
JMenu fileMenu=new JMenu("File");
fileMenu.setMnemonic('F');
//新建文件菜單條
JMenuItem newItem=new JMenuItem("New");
fileMenu.add(newItem);
//保存文件菜單項
JMenuItem saveItem=new JMenuItem("Save");
fileMenu.add(saveItem);
//打開文件菜單項
JMenuItem loadItem=new JMenuItem("Load");
fileMenu.add(loadItem);
fileMenu.addSeparator();
//退出菜單項
JMenuItem exitItem=new JMenuItem("Exit");
fileMenu.add(exitItem);
bar.add(fileMenu);
//設置顏色菜單條
JMenu colorMenu=new JMenu("Color");
//選擇顏色菜單項
JMenuItem colorItem=new JMenuItem("Choose Color");
colorMenu.add(colorItem);
bar.add(colorMenu);
JMenu strokeMenu=new JMenu("Stroke");
JMenuItem strokeItem=new JMenuItem("Set Stroke");
strokeMenu.add(strokeItem);
bar.add(strokeMenu);
items=new ImageIcon[names.length];
//創(chuàng)建各種基本圖形的按鈕
drawingArea=new DrawPanel();
choices=new JButton[names.length];
buttonPanel = new JToolBar( JToolBar.VERTICAL ) ;
buttonPanel = new JToolBar( JToolBar.HORIZONTAL) ;
//ButtonHandler handler=new ButtonHandler();
//ButtonHandler1 handler1=new ButtonHandler1();
//導入需要的圖形圖標,這些圖標都存放在與源文件相同的目錄下面
for(int i=0;ichoices.length;i++)
{items[i]=new ImageIcon(names[i] + ".gif");
choices[i]=new JButton("",items[i]);
String[] tipText = new String[choices.length];
choices[i].setToolTipText(tipText[i]);
buttonPanel.add(choices[i]);
}
JFrame newPad=new MiniDrawPad();
ExitWindow exit=new ExitWindow();
JFrame frame = new JFrame();
frame.addWindowListener(exit);
}
public static void main(String[] arguments){
}
}
class ExitWindow extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
你那個DrawPanel的類不知道是不是自己定義的,系統里面是沒有。現在剩的兩個錯誤就出在這個類上了。還有那個tipText[]也沒有定義我也不知道你想寫什么就定義了一個空的。frame也沒有定義。還有那幾個監(jiān)聽都不對,至少不應該定義在main()里面。望能注意一下編碼規(guī)范,看起來很費事的。
/*這個相當詳細了.
程序也不算太難.而且給老師看的時候效果比較好.因為有圖形化界面,又實現一個比較實用的功能.老師會比較高興的.
建立一個文件名為Change.java就可以編譯了*/
/*
* 這個程序實現輸入身高算出標準體重,輸入體重,算出身高的功能
*/
import java.awt.*; //導入相關類包,這才樣使用相應awt圖形界面的類
import java.awt.event.*;//同上
public class Change extends Frame { //定義一個類Change, 父類是Frame(圖形界面的)
Button b = new Button("互查"); //創(chuàng)建一個按鈕的對象b,顯示為"互查"
Label l1 = new Label("身高(cm)");//創(chuàng)建一個lable.顯示身高
Label l2 = new Label("體重(kg)");//創(chuàng)建一個lable 顯示體重
double heigth, weigth; //定義變量
double x, y; //定義變量
TextField tf1 = new TextField(null, 10);//添加Text框
TextField tf2 = new TextField(null, 10);//添加Text框
public Change() {//類的構造函數,完成初始化
super("互查表");//創(chuàng)建窗口,標題為互查表
setLayout(new FlowLayout(FlowLayout.LEFT));//設置布局
add(l1);//把lable 身高放到window里
add(tf1);//把Text 框 放到窗口上
add(l2); //把lable 體重放到window里
add(tf2);//Test放到窗口里
add(b);//把button放到窗口上
pack();//自動放到窗口里排列上邊的組件
setVisible(true);//可以讓用戶看到窗口
addWindowListener(new WindowAdapter() {//如果按 X, 關閉窗口
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
b.addActionListener(new ButtonListener());//添加button監(jiān)聽函數
}
class ButtonListener implements ActionListener {//實現click button時功能操作
public void actionPerformed(ActionEvent e) {//當click調用
if (tf1.getText()!=null) {//檢查tf1 test 是否為空
try {//取異常
x = Double.parseDouble(tf1.getText());//字符轉為double型
weigth = (x - 100) * 0.9;//算重量
tf2.setText("" + weigth);//顯示重量
} catch (NumberFormatException ex) {
tf1.setText("");//如果輸入不是數字,設為空
}
}
if (tf1.getText().equals("")==true){//tf1是否為空
y = Double.parseDouble(tf2.getText());//把tf2里的文本轉為double 型 的
heigth = y / 0.9 + 100; //算身高根據重量
tf1.setText("" + heigth);}//顯示身高
}
}
public static void main(String[] args) {//主函數,程序入口
new Change(); //建立類Change的對象,并調用他的構造函數Change().顯示窗口
}
}
package IO;
import java.io.*;
public class FileDirectoryDemo {
public static void main(String[] args) {
// 如果沒有指定參數,則缺省為當前目錄。
if (args.length == 0) {
args = new String[] { "." };
}
try {
// 新建指定目錄的File對象。
File currentPath = new File(args[0]);
// 在指定目錄新建temp目錄的File對象。
File tempPath = new File(currentPath, "temp");
// 用“tempPath”對象在指定目錄下創(chuàng)建temp目錄。
tempPath.mkdir();
// 在temp目錄下創(chuàng)建兩個文件。
File temp1 = new File(tempPath, "temp1.txt");
temp1.createNewFile();
File temp2 = new File(tempPath, "temp2.txt");
temp2.createNewFile();
// 遞歸顯示指定目錄的內容。
System.out.println("顯示指定目錄的內容");
listSubDir(currentPath);
// 更改文件名“temp1.txt”為“temp.txt”。
File temp1new = new File(tempPath, "temp.txt");
temp1.renameTo(temp1new);
// 遞歸顯示temp子目錄的內容。
System.out.println("更改文件名后,顯示temp子目錄的內容");
listSubDir(tempPath);
// 刪除文件“temp2.txt”。
temp2.delete();
// 遞歸顯示temp子目錄的內容。
System.out.println("刪除文件后,顯示temp子目錄的內容");
listSubDir(tempPath);
} catch (IOException e) {
System.err.println("IOException");
}
}
// 遞歸顯示指定目錄的內容。
static void listSubDir(File currentPath) {
// 取得指定目錄的內容列表。
String[] fileNames = currentPath.list();
try {
for (int i = 0; i fileNames.length; i++) {
File f = new File(currentPath.getPath(), fileNames[i]);
// 如果是目錄,則顯示目錄名后,遞歸調用,顯示子目錄的內容。
if (f.isDirectory()) {
// 以規(guī)范的路徑格式顯示目錄。
System.out.println(f.getCanonicalPath());
// 遞歸調用,顯示子目錄。
listSubDir(f);
}
// 如果是文件,則顯示文件名,不包含路徑信息。
else {
System.out.println(f.getName());
}
}
} catch (IOException e) {
System.err.println("IOException");
}
}
}
package IO;
import java.io.*;
public class FileExample {
public FileExample() {
super();
}
public static void main(String[] args) {
try {
String outfile = "demoout.xml";
String infile = "demoin.xml";
/**
* 用FileOutputStream定義一個輸入流文件,然后用BuferedOutputStream調用FileOutputStream對象生成一個緩沖輸出流
然后用DataOutputStream調用BuferedOutputStream對象生成數據格式化輸出流
*/
DataOutputStream dt=new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outfile)));
BufferedWriter NewFile = new BufferedWriter(new OutputStreamWriter(dt, "GBK"));
// 對中文的處理
// 定義一個輸入流
DataInputStream rafFile1 = new DataInputStream(new BufferedInputStream(new FileInputStream(infile)));
// 定義一個輸入緩沖
BufferedReader rafFile = new BufferedReader(new InputStreamReader(rafFile1, "GBK"));
String xmlcontent = "";
char tag = 0;// 文件友字符0結束
while (tag != (char) (-1)) {
xmlcontent = xmlcontent + tag + rafFile.readLine() + '\n';
tag = (char) rafFile.read();
}
NewFile.write(xmlcontent);
NewFile.flush();
NewFile.close();
rafFile.close();
System.gc();
} catch (NullPointerException exc) {
exc.printStackTrace();
} catch (java.lang.IndexOutOfBoundsException outb) {
System.out.println(outb.getMessage());
outb.printStackTrace();
} catch (FileNotFoundException fex) {
System.out.println("fex" + fex.getMessage());
} catch (IOException iex) {
System.out.println("iex" + iex.getMessage());
}
}
}
package IO;
import java.io.*;
public class FileRandomRW {
// 需要輸入的person數目。
public static int NUMBER = 3;
public static void main(String[] args) {
Persons[] people = new Persons[NUMBER];
people[0] = new Persons("張峰", 26, 2000, "N");
people[1] = new Persons("艷娜", 25, 50000, "Y");
people[2] = new Persons("李朋", 50, 7000, "F");
try {
DataOutputStream out = new DataOutputStream(new FileOutputStream(
"peoplerandom.dat"));
// 將人員數據保存至“peoplerandom.dat”二進制文件中。
writeData(people, out);
// 關閉流。
out.close();
// 從二進制文件“peoplerandom.dat”中逆序讀取數據。
RandomAccessFile inOut = new RandomAccessFile("peoplerandom.dat",
"rw");
Persons[] inPeople = readDataReverse(inOut);
// 輸出讀入的數據。
System.out.println("原始數據:");
for (int i = 0; i inPeople.length; i++) {
System.out.println(inPeople[i]);
}
// 修改文件的第三條記錄。
inPeople[2].setSalary(4500);
// 將修改結果寫入文件。
inPeople[2].writeData(inOut, 3);
// 關閉流。
inOut.close();
// 從文件中讀入的第三條記錄,并輸出,以驗證修改結果。
RandomAccessFile in = new RandomAccessFile("peoplerandom.dat", "r");
Persons in3People = new Persons();
// 隨機讀第三條記錄。
in3People.readData(in, 3);
// 關閉流。
in.close();
System.out.println("修改后的記錄");
System.out.println(in3People);
} catch (IOException exception) {
System.err.println("IOException");
}
}
// 將數據寫入輸出流。
static void writeData(Persons[] p, DataOutputStream out) throws IOException {
for (int i = 0; i p.length; i++) {
p[i].writeData(out);
}
}
// 將數據從輸入流中逆序讀出。
static Persons[] readDataReverse(RandomAccessFile in) throws IOException {
// 獲得記錄數目。
int record_num = (int) (in.length() / Persons.RECORD_LENGTH);
Persons[] p = new Persons[record_num];
// 逆序讀取。
for (int i = record_num - 1; i = 0; i--) {
p[i] = new Persons();
// 文件定位。
in.seek(i * Persons.RECORD_LENGTH);
p[i].readData(in, i + 1);
}
return p;
}
}
class Persons {
private String name;
private int age; // 4個字節(jié)
private double salary; // 8個字節(jié)
private String married;
public static final int NAME_LENGTH = 20; // 姓名長度
public static final int MARRIED_LENGTH = 2; // 婚否長度
public static final int RECORD_LENGTH = NAME_LENGTH * 2 + 4 + 8
+ MARRIED_LENGTH * 2;
public Persons() {
}
public Persons(String n, int a, double s) {
name = n;
age = a;
salary = s;
married = "F";
}
public Persons(String n, int a, double s, String m) {
name = n;
age = a;
salary = s;
married = m;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
public String getMarried() {
return married;
}
public String setName(String n) {
name = n;
return name;
}
public int setAge(int a) {
age = a;
return age;
}
public double setSalary(double s) {
salary = s;
return salary;
}
public String setMarried(String m) {
married = m;
return married;
}
// 設置輸出格式。
public String toString() {
return getClass().getName() + "[name=" + name + ",age=" + age
+ ",salary=" + salary + ",married=" + married + "]";
}
// 寫入一條固定長度的記錄,即一個人的數據到輸出流。
public void writeData(DataOutput out) throws IOException {
FixStringIO.writeFixString(name, NAME_LENGTH, out);
out.writeInt(age);
out.writeDouble(salary);
FixStringIO.writeFixString(married, MARRIED_LENGTH, out);
}
// 寫入一條固定長度的記錄到隨機讀取文件中。
private void writeData(RandomAccessFile out) throws IOException {
FixStringIO.writeFixString(name, NAME_LENGTH, out);
out.writeInt(age);
out.writeDouble(salary);
FixStringIO.writeFixString(married, MARRIED_LENGTH, out);
}
// 隨機寫入一條固定長度的記錄到輸出流的指定位置。
public void writeData(RandomAccessFile out, int n) throws IOException {
out.seek((n - 1) * RECORD_LENGTH);
writeData(out);
}
// 從輸入流隨機讀入一條記錄,即一個人的數據。
private void readData(RandomAccessFile in) throws IOException {
name = FixStringIO.readFixString(NAME_LENGTH, in);
age = in.readInt();
salary = in.readDouble();
married = FixStringIO.readFixString(MARRIED_LENGTH, in);
}
// 從輸入流隨機讀入指定位置的記錄。
public void readData(RandomAccessFile in, int n) throws IOException {
in.seek((n - 1) * RECORD_LENGTH);
readData(in);
}
}
// 對固定長度字符串從文件讀出、寫入文件
class FixStringIO {
// 讀取固定長度的Unicode字符串。
public static String readFixString(int size, DataInput in)
throws IOException {
StringBuffer b = new StringBuffer(size);
int i = 0;
boolean more = true;
while (more i size) {
char ch = in.readChar();
i++;
if (ch == 0) {
more = false;
} else {
b.append(ch);
}
}
// 跳過剩余的字節(jié)。
in.skipBytes(2 * (size - i));
return b.toString();
}
// 寫入固定長度的Unicode字符串。
public static void writeFixString(String s, int size, DataOutput out)
throws IOException {
int i;
for (i = 0; i size; i++) {
char ch = 0;
if (i s.length()) {
ch = s.charAt(i);
}
out.writeChar(ch);
}
}
}
package IO;
import java.io.*;
import java.util.*;
public class FileRW {
// 需要輸入的person數目。
public static int NUMBER = 3;
public static void main(String[] args) {
Person[] people = new Person[NUMBER];
// 暫時容納輸入數據的臨時字符串數組。
String[] field = new String[4];
// 初始化field數組。
for (int i = 0; i 4; i++) {
field[i] = "";
}
// IO操作必須捕獲IO異常。
try {
// 用于對field數組進行增加控制。
int fieldcount = 0;
// 先使用System.in構造InputStreamReader,再構造BufferedReader。
BufferedReader stdin = new BufferedReader(new InputStreamReader(
System.in));
for (int i = 0; i NUMBER; i++) {
fieldcount = 0;
System.out.println("The number " + (i + 1) + " person");
System.out
.println("Enter name,age,salary,married(optional),please separate fields by ':'");
// 讀取一行。
String personstr = stdin.readLine();
// 設置分隔符。
StringTokenizer st = new StringTokenizer(personstr, ":");
// 判斷是否還有分隔符可用。
while (st.hasMoreTokens()) {
field[fieldcount] = st.nextToken();
fieldcount++;
}
// 如果輸入married,則field[3]不為空,調用具有四個參數的Person構造函數。
if (field[3] != "") {
people[i] = new Person(field[0],
Integer.parseInt(field[1]), Double
.parseDouble(field[2]), field[3]);
// 置field[3]為空,以備下次輸入使用。
field[3] = "";
}
// 如果未輸入married,則field[3]為空,調用具有三個參數的Person構造函數。
else {
people[i] = new Person(field[0],
Integer.parseInt(field[1]), Double
.parseDouble(field[2]));
}
}
// 將輸入的數據保存至“people.dat”文本文件中。
PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter("people.dat")));
writeData(people, out);
// 關閉流。
out.close();
// 從文件“people.dat”讀取數據。
BufferedReader in = new BufferedReader(new FileReader("people.dat"));
Person[] inPeople = readData(in);
// 關閉流。
in.close();
// 輸出從文件中讀入的數據。
for (int i = 0; i inPeople.length; i++) {
System.out.println(inPeople[i]);
}
} catch (IOException exception) {
System.err.println("IOException");
}
}
// 將所有數據寫入輸出流。
static void writeData(Person[] p, PrintWriter out) throws IOException {
// 寫入記錄條數,即人數。
out.println(p.length);
for (int i = 0; i p.length; i++) {
p[i].writeData(out);
}
}
// 將所有數據從輸入流中讀出。
static Person[] readData(BufferedReader in) throws IOException {
// 獲取記錄條數,即人數。
int n = Integer.parseInt(in.readLine());
Person[] p = new Person[n];
for (int i = 0; i n; i++) {
p[i] = new Person();
p[i].readData(in);
}
return p;
}
}
class Person {
private String name;
private int age;
private double salary;
private String married;
public Person() {
}
public Person(String n, int a, double s) {
name = n;
age = a;
salary = s;
married = "F";
}
public Person(String n, int a, double s, String m) {
name = n;
age = a;
salary = s;
married = m;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
public String getMarried() {
return married;
}
// 設置輸出格式。
public String toString() {
return getClass().getName() + "[name=" + name + ",age=" + age
+ ",salary=" + salary + ",married=" + married + "]";
}
// 寫入一條記錄,即一個人的數據到輸出流。
public void writeData(PrintWriter out) throws IOException {
// 格式化輸出。
out.println(name + ":" + age + ":" + salary + ":" + married);
}
// 從輸入流讀入一條記錄,即一個人的數據。
public void readData(BufferedReader in) throws IOException {
String s = in.readLine();
StringTokenizer t = new StringTokenizer(s, ":");
name = t.nextToken();
age = Integer.parseInt(t.nextToken());
salary = Double.parseDouble(t.nextToken());
married = t.nextToken();
}
}
package IO;
import java.io.*;
public class IOStreamExample {
public static void main(String[] args) throws IOException {
// 1. 讀入一行數據:
BufferedReader in = new BufferedReader(new FileReader(
"FileStdRead.java"));
String s, s2 = new String();
while ((s = in.readLine()) != null) {
s2 += s + "\n";
}
in.close();
BufferedReader stdin = new BufferedReader(new InputStreamReader(
System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
// 2. 從內存中讀入
StringReader in2 = new StringReader(s2);
int c;
while ((c = in2.read()) != -1) {
System.out.print((char) c);
}
// 3. 格式化內存輸入
try {
DataInputStream in3 = new DataInputStream(new ByteArrayInputStream(
s2.getBytes()));
while (true) {
System.out.print((char) in3.readByte());
}
} catch (EOFException e) {
System.err.println("End of stream");
}
// 4. 文件輸入
try {
BufferedReader in4 = new BufferedReader(new StringReader(s2));
PrintWriter out1 = new PrintWriter(new BufferedWriter(
new FileWriter("IODemo.out")));
int lineCount = 1;
while ((s = in4.readLine()) != null) {
out1.println(lineCount++ + ": " + s);
}
out1.close();
} catch (EOFException e) {
System.err.println("End of stream");
}
// 5. 接收和保存數據
try {
DataOutputStream out2 = new DataOutputStream(
new BufferedOutputStream(new FileOutputStream("Data.txt")));
out2.writeDouble(3.14159);
out2.writeUTF("That was pi");
out2.writeDouble(1.41413);
out2.writeUTF("Square root of 2");
out2.close();
DataInputStream in5 = new DataInputStream(new BufferedInputStream(
new FileInputStream("Data.txt")));
System.out.println(in5.readDouble());
System.out.println(in5.readUTF());
System.out.println(in5.readDouble());
System.out.println(in5.readUTF());
} catch (EOFException e) {
throw new RuntimeException(e);
}
// 6. 隨機讀取文件內容
RandomAccessFile rf = new RandomAccessFile("rtest.dat", "rw");
for (int i = 0; i 10; i++) {
rf.writeDouble(i * 1.414);
}
rf.close();
rf = new RandomAccessFile("rtest.dat", "rw");
rf.seek(5 * 8);
rf.writeDouble(47.0001);
rf.close();
rf = new RandomAccessFile("rtest.dat", "r");
for (int i = 0; i 10; i++) {
System.out.println("Value " + i + ": " + rf.readDouble());
}
rf.close();
}
}
package IO;
import java.io.*;
/**
* p
* Title: JAVA進階訣竅
* /p
*
* @author 張峰
* @version 1.0
*/
public class MakeDirectoriesExample {
private static void fileattrib(File f) {
System.out.println("絕對路徑: " + f.getAbsolutePath() + "\n 可讀屬性: "
+ f.canRead() + "\n 可定屬性: " + f.canWrite() + "\n 文件名: "
+ f.getName() + "\n 父目錄: " + f.getParent() + "\n 當前路徑: "
+ f.getPath() + "\n 文件長度: " + f.length() + "\n 最后更新日期: "
+ f.lastModified());
if (f.isFile()) {
System.out.println("輸入的是一個文件");
} else if (f.isDirectory()) {
System.out.println("輸入的是一個目錄");
}
}
public static void main(String[] args) {
if (args.length 1) {
args = new String[3];
}
args[0] = "d";
args[1] = "test1.txt";
args[2] = "test2.txt";
File old = new File(args[1]), rname = new File(args[2]);
old.renameTo(rname);
fileattrib(old);
fileattrib(rname);
int count = 0;
boolean del = false;
if (args[0].equals("d")) {
count++;
del = true;
}
count--;
while (++count args.length) {
File f = new File(args[count]);
if (f.exists()) {
System.out.println(f + " 文件己經存在");
if (del) {
System.out.println("刪除文件" + f);
f.delete();
}
} else { // 如果文件不存在
if (!del) {
f.mkdirs();
System.out.println("創(chuàng)建文件: " + f);
}
}
fileattrib(f);
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
/**
* java應用對配置文件的讀寫
*
* @author
* @version
*
*/
public class PropertyMgr {
private static Properties props = new Properties();
private static FileInputStream in = null;
private static FileOutputStream out = null;
static {
try {
// 從當前類路徑下的配置文件
props.load(PropertyMgr.class.getClassLoader().getResourceAsStream("System.properties"));
// 從指定文件名讀入配置信息
in = new FileInputStream("System.properties");
props.load(in);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 獲取鍵所對應的值
*
* @param key
* 要得到值的鍵
* @return
*/
public static String getProperty(String key) {
return props.getProperty(key);
}
/**
* 改變或添加一個key的值 當key存在于properties文件中時該key的值被value所代替, 當key不存在時,該key的值是value
*
* @param key
* 要存入的鍵
* @param value
* 要存入的值
*/
public static String setProperty(String key, String value) {
try {
props.setProperty(key, value);
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
String urlFile = new File("System.properties").getAbsolutePath();
String tempUrl = urlFile.substring(urlFile.indexOf(File.separator));
out = new FileOutputStream(tempUrl);
props.store(out, null);
out.close();
} catch (FileNotFoundException e) {
System.out.println("系統找不到指定的路徑");
e.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return "頁面名稱保存成功";
}
/**
* 將更改后的文件數據存入指定的文件中,該文件可以不存在,但是路徑文件所在的文件夾一定得存在。
*
* @param fileName
* 文件路徑+文件名稱
* @param description
* 對該文件的描述
*/
public static String saveFile() {
try {
String urlFile = new File("System.properties").getAbsolutePath();
String tempUrl = urlFile.substring(urlFile.indexOf(File.separator));
System.out.println("tempUrl:" + tempUrl);
out = new FileOutputStream(tempUrl);
props.store(out, null);
out.close();
} catch (FileNotFoundException e) {
System.out.println("系統找不到指定的路徑");
e.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return "保存成功";
}
}
名稱欄目:常用經典java代碼集錦 java經典編程
瀏覽地址:http://m.newbst.com/article38/higdsp.html
成都網站建設公司_創(chuàng)新互聯,為您提供微信小程序、網站維護、做網站、動態(tài)網站、網站收錄、移動網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯