當前位置:首頁 » 編程語言 » java文件導出

java文件導出

發布時間: 2022-01-29 12:41:22

java 導出文件命名

//Rename.java
import java.io.File;
public class Rename {
public static void main(String[] args) {
//這是Linux系統下的目錄結構,如果你的是Windows系統,請適當更改(可以任意指定)
File directory = new File("/home/lsx/temp");
String suffix = ".txt";
//自動產生11個文件,名稱序號自動遞增
for(int i=0; i<11; i++){
//取得一個File對象的引用
File f = createFile(directory,suffix);
if(f!=null){
//用了這個文件的引用,就可以做你想做了事了~~
}
else
System.out.println(err);
}
}

//初始前綴
private static final String prefix = "001";
//錯誤消息
private static String err = null;

//創建一個新文件,如果有同名文件存在,根據規則會自動重命名.
public static File createFile(File dir,String suffix){
//如果目錄不存在,自動創建
if(!dir.exists())
dir.mkdirs();
//檢查dir是否是一個目錄
else if(dir.isFile()){
err = "指定的目錄是一個文件。";
return null;
}
//檢查目錄是否可寫
else if(!dir.canWrite()){
err="指定的目錄不能被寫入數據。";
return null;
}

//創建文件對象
File tmp = new File(dir,prefix+suffix);

//如果文件已存在則自動更名
while(tmp.exists()){
try{
String pre = tmp.getName().substring(0,tmp.getName().indexOf(suffix));
int prei = Integer.parseInt(pre)+1;
pre = String.valueOf(prei);
while(pre.length()<prefix.length())pre="0"+pre;
tmp = new File(dir,pre+suffix);
}catch(Exception e){
err = "未知錯誤。"+
"\nError message:"+e.getMessage()+
"\nStack trace:"+e.getStackTrace().toString();
return null;
}
}
try {
tmp.createNewFile();
} catch (Exception e) {
err = "創建新文件失敗。";
return null;
}
return tmp;
}
}

⑵ JAVA 如何輸出數據到TXT文件內

package test;

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;

public class ReadColorTest {
/**
* 讀取一張圖片的RGB值
*
* @throws Exception
*/
public void getImagePixel(String image) throws Exception {
File fileCar = new File("D:\\car.txt");
FileOutputStream fos = new FileOutputStream(fileCar);
BufferedOutputStream bos = new BufferedOutputStream(fos);
int[] rgb = new int[3];
File file = new File(image);
BufferedImage bi = null;
try {
bi = ImageIO.read(file);
} catch (Exception e) {
e.printStackTrace();
}
int width = bi.getWidth();
int height = bi.getHeight();
int minx = bi.getMinX();
int miny = bi.getMinY();
System.out.println("width=" + width + ",height=" + height + ".");
bos.write(("width=" + width + ",height=" + height + ".\n").getBytes());
System.out.println("minx=" + minx + ",miniy=" + miny + ".");
bos.write(("minx=" + minx + ",miniy=" + miny + ".\n").getBytes());
for (int i = minx; i < width; i++) {
for (int j = miny; j < height; j++) {
int pixel = bi.getRGB(i, j); // 下面三行代碼將一個數字轉換為RGB數字
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
System.out.println("i=" + i + ",j=" + j + ":(" + rgb[0] + ","+ rgb[1] + "," + rgb[2] + ")");
bos.write(("i=" + i + ",j=" + j + ":(" + rgb[0] + ","+ rgb[1] + "," + rgb[2] + ")\n").getBytes());
}
}
}

/**
* 返回屏幕色彩值
*
* @param x
* @param y
* @return
* @throws AWTException
*/
public int getScreenPixel(int x, int y) throws AWTException { // 函數返回值為顏色的RGB值。
Robot rb = null; // java.awt.image包中的類,可以用來抓取屏幕,即截屏。
rb = new Robot();
Toolkit tk = Toolkit.getDefaultToolkit(); // 獲取預設工具包
Dimension di = tk.getScreenSize(); // 屏幕尺寸規格
System.out.println(di.width);
System.out.println(di.height);
Rectangle rec = new Rectangle(0, 0, di.width, di.height);
BufferedImage bi = rb.createScreenCapture(rec);
int pixelColor = bi.getRGB(x, y);

return 16777216 + pixelColor; // pixelColor的值為負,經過實踐得出:加上顏色最大值就是實際顏色值。
}

/**
* @param args
*/
public static void main(String[] args) throws Exception {
int x = 0;
ReadColorTest rc = new ReadColorTest();
x = rc.getScreenPixel(100, 345);
System.out.println(x + " - ");
rc.getImagePixel("D:\\car.jpg");

}

}

⑶ java文件導出後運行問題

你得把你的jar發過來看看
qq:1961342

⑷ java導出文件時讓用戶選擇路徑怎麼弄啊最好有代碼……

JFileChooser chooser = new JFileChooser();
JPanel parent = new JPanel();
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("選擇的文件地址為:"
+ chooser.getSelectedFile().getPath());
}
這個事j2se的寫法。你看看可以用不。

⑸ java如何將一個txt文件導出並顯示

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class IOTexst {

public static void main(String[] arg){
String temp=null;
BufferedReader br;
try {
br = new BufferedReader(new FileReader("d:/test.txt"));
while((temp=br.readLine())!=null){
System.out.println(temp);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

⑹ Java文件的導入導出!(高手進)

最簡單的方法:
上傳文件到伺服器(任何文件格式都行),將該文件路徑存入資料庫.點該文件下載時,從伺服器路徑找該文件,讀流,讀格式,生成文件.
上傳下載這個總會吧?

⑺ Java中如何實現文件的輸入和輸出

程序如下:
<span style="color:#990000;">

</span>File file1 = new File("/home/a123/a");

if (file1.exists()) {
System.out.println("存在文件夾a");
} else {
file1.mkdir(); // 文件夾的創建 創建文件夾/home/a123/a
}
File file2 = new File("/home/a123/a/test");
if (file2.exists()) {
System.out.println("存在文件夾或者文件test");
} else {
try {
file2.createNewFile(); // 文件的創建,注意與文件夾創建的區別
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* 最簡單的文件讀寫方法是使用類FileWriter
* (它的父類依次是java.io.OutputStreamWriter——>java.io.Writer——>java.lang.Object );
*/

// 下面是向文件file2裡面寫數據
try {
FileWriter fileWriter = new FileWriter(file2);
String s = new String("This is a test! \n" + "aaaa");
fileWriter.write(s);
fileWriter.close(); // 關閉數據流

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

/*
* 這樣寫數據的話,是完全更新文件test裡面的內容,即把以前的東西全部刪除,重新輸入。
* 如果不想刪除以前的數據,而是把新增加的內容增添在文件末尾處。只需要在創建FileWriter對象時候,使用另外一個構造函數即可:
* FileWriter fileWriter=new FileWriter(file2,true);
*/

// 下面是從文件file2讀東西
try {
FileReader fileReader = new FileReader(file2);
String s = null;
char ch;
try {
char[] c = new char[100];
fileReader.read(c,0,2); // 具體想得到文件裡面的什麼值(單個char?int?還是String?),
System.out.println(c);
fileReader.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**
* 具體想得到文件裡面的什麼值(單個char?int?還是String?),需要知道不通read的不同用法:
* 1. int read() 讀取單個字元。
* 2. int read(char[] cbuf) 將字元讀入數組。 可以再將字元型數組轉化位字元串
* 3. int read(char[] cbuf,int off,int len) 將字元讀入數組的某一部分。
* 這三個方法都返回一個int值,作用是:讀取的字元數,如果已到達流的末尾,則返回 -1.
*/

}

⑻ 怎麼java文件導出後怎麼壓縮文件

導出Runnabled Jar File,選擇你要運行的主java類(含有main方法的java類)。導出jar包就可以運行,沒有Runnabled Jar File,右鍵項目導出jar也可以,之間有一步是選擇Main class,選擇你的那個要運行的java類(含有main 方法)導出的jar包就可以運行

⑼ eclipse怎樣把java文件導出為class文件

可以,當你點擊保存的時候,eclipse已經幫你編譯好了,你可以在你當前工程的目錄下,找到src文件夾,文件夾下面有編譯好的你的.class文件

⑽ java代碼怎麼導出excel文件

excel工具類
package com.ohd.ie.proct.action;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
import org.apache.commons.io.output.ByteArrayOutputStream;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.VerticalAlignment;
import jxl.write.*;
import jxl.write.Number;
import jxl.write.biff.RowsExceededException;
public class Excel {
private OutputStream os;
private WritableWorkbook wwb = null;
private WritableSheet ws = null;
private WritableCellFormat titleCellFormat = null;
private WritableCellFormat noBorderCellFormat = null;
private WritableCellFormat hasBorderCellFormat = null;
private WritableCellFormat hasBorderCellNumberFormat = null;
private WritableCellFormat hasBorderCellNumberFormat2 = null;
private WritableImage writableImage=null;
private int r;
public Excel(OutputStream os){
this.os = os;
r = -1;
try {
wwb = Workbook.createWorkbook(os);
//創建工作表
ws = wwb.createSheet("sheet1",0);
//設置表頭字體,大小,加粗
titleCellFormat = new WritableCellFormat();
titleCellFormat.setAlignment(Alignment.CENTRE);
titleCellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
//自動換行
titleCellFormat.setWrap(true);
titleCellFormat.setFont(new WritableFont(WritableFont.createFont("宋體"),12,WritableFont.BOLD));
titleCellFormat.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
//設置表格字體,大小----無邊框
noBorderCellFormat = new WritableCellFormat();
noBorderCellFormat.setAlignment(Alignment.CENTRE);
noBorderCellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
noBorderCellFormat.setFont(new WritableFont(WritableFont.createFont("宋體"),12));
//設置表格字體,大小----有邊框
hasBorderCellFormat = new WritableCellFormat();
hasBorderCellFormat.setAlignment(Alignment.CENTRE);
hasBorderCellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
hasBorderCellFormat.setFont(new WritableFont(WritableFont.createFont("宋體"),12));
hasBorderCellFormat.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
//設置表格字體,大小----有邊框(小數)
NumberFormat nf = new NumberFormat("#0.00");
hasBorderCellNumberFormat = new WritableCellFormat(nf);
hasBorderCellNumberFormat.setAlignment(Alignment.CENTRE);
hasBorderCellNumberFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
hasBorderCellNumberFormat.setFont(new WritableFont(WritableFont.createFont("宋體"),12));
hasBorderCellNumberFormat.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
//設置表格字體,大小----有邊框(整數)
NumberFormat nf2 = new NumberFormat("#0");
hasBorderCellNumberFormat2 = new WritableCellFormat(nf2);
hasBorderCellNumberFormat2.setAlignment(Alignment.CENTRE);
hasBorderCellNumberFormat2.setVerticalAlignment(VerticalAlignment.CENTRE);
hasBorderCellNumberFormat2.setFont(new WritableFont(WritableFont.createFont("宋體"),12));
hasBorderCellNumberFormat2.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* @param content 內容
* @param c 列
* @param style 樣式
* @param isNewLine 是否換行
* @param mergeType 合並類型
* @param mergeCount 合並個數
* @param width 單元格寬
*/
public void setExcelCell(String content,int c,int style,boolean isNewLine,int mergeType,int mergeCount,int width){
try {
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////報表內容////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(isNewLine){
r++;
}
WritableCell l = null;
if(style == 1){
l = new Label(c,r,content,titleCellFormat);
}
else if(style == 2){
l = new Label(c,r,content,noBorderCellFormat);
}
else if(style == 3){
l = new Label(c,r,content,hasBorderCellFormat);
}
else if(style == 4){
l = new Number(c,r,Double.parseDouble(content),hasBorderCellNumberFormat);
}
else if(style == 5){
l = new Number(c,r,Integer.parseInt(content),hasBorderCellNumberFormat2);
}
ws.addCell(l);
if(width != 0){
ws.setColumnView(c,width);
}
//veryhuo,com
if(mergeType == 1){
//x 軸方向
ws.mergeCells(c, r, c+mergeCount-1 , r);
}
else if(mergeType == 2){
//y 軸方向
ws.mergeCells(c, r, c, r+mergeCount-1);
}
if(isNewLine){
ws.setRowView(r, 350);
if(style == 1 && r != 0){
ws.setRowView(r, 900);
}
else{
ws.setRowView(r, 350);
}
}
//
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
} catch (Exception e) {
System.out.println(e.toString());
}
}
public void setExcelCellEx(String content,int c,int style,boolean isNewLine,int mergeType,int mergeCount,int width,int row){
try {
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////報表內容////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(isNewLine){
r++;
}
WritableCell l = null;
if(style == 1){
l = new Label(c,r,content,titleCellFormat);
}
else if(style == 2){
l = new Label(c,r,content,noBorderCellFormat);
}
else if(style == 3){
if(content.indexOf(".jpg")!=-1 ||content.indexOf(".JPG")!=-1){
File outputFile=null;
File imgFile =new File(content);
if(imgFile.exists()&&imgFile.length()>0){
BufferedImage input=null;
try {
input = ImageIO.read(imgFile);
} catch (Exception e) {
e.printStackTrace();
}
if(input!=null){
String path=imgFile.getAbsolutePath();
outputFile = new File(path.substring(0,path.lastIndexOf('.')+1)+"png");
ImageIO.write(input, "PNG", outputFile);
if(outputFile.exists()&&outputFile.length()>0){
ws.setRowView(row,2000);
//ws.setColumnView(8, 10);
writableImage = new WritableImage(c+0.1, row+0.1, 0.8, 0.8, outputFile);
ws.addImage(writableImage);
l = new Label(c,r,"",hasBorderCellFormat);
}
}
}
}else{
l = new Label(c,r,content,hasBorderCellFormat);
}
}
else if(style == 4){
l = new Number(c,r,Double.parseDouble(content),hasBorderCellNumberFormat);
}
else if(style == 5){
l = new Number(c,r,Integer.parseInt(content),hasBorderCellNumberFormat2);
}
ws.addCell(l);
if(width != 0){
ws.setColumnView(c,width);
}
if(mergeType == 1){
//x 軸方向
ws.mergeCells(c, r, c+mergeCount-1 , r);
}
else if(mergeType == 2){
//y 軸方向
ws.mergeCells(c, r, c, r+mergeCount-1);
}
if(isNewLine){
ws.setRowView(r, 350);
if(style == 1 && r != 0){
ws.setRowView(r, 900);
}
else{
ws.setRowView(r, 350);
}
}
} catch (Exception e) {
System.out.println(e.toString());
}
}
public void setRowHeight(int val){
try {
ws.setRowView(r, val);
} catch (RowsExceededException e) {
e.printStackTrace();
}
}
public void getExcelResult(){
try {
wwb.write();
} catch (Exception e) {
System.out.println(e.toString());
}
finally{
if(wwb != null){
try {
wwb.close();
if(os != null){
os.close();
}
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
需要的jar包:jxl.jar

熱點內容
微博緩存的圖片能清理嗎 發布:2025-01-11 11:01:49 瀏覽:306
文字加密器 發布:2025-01-11 11:01:08 瀏覽:453
vc60非靜態編譯 發布:2025-01-11 10:51:32 瀏覽:614
電腦上怎麼解壓縮文件 發布:2025-01-11 10:51:31 瀏覽:783
槍戰王者如何用賬號密碼登錄 發布:2025-01-11 10:30:56 瀏覽:937
mysql在linux下安裝 發布:2025-01-11 10:30:49 瀏覽:844
資料庫copy 發布:2025-01-11 10:26:06 瀏覽:534
unity清理緩存 發布:2025-01-11 10:25:23 瀏覽:468
優酷視頻雙擊上傳 發布:2025-01-11 10:24:41 瀏覽:965
存儲臍帶胎兒幹細胞 發布:2025-01-11 10:18:36 瀏覽:332