導航:首頁 > 編程語言 > java文件保存

java文件保存

發布時間:2022-01-26 06:31:06

A. java中通過txt文件存儲和取出數據

如果是這樣的話,你就先用string的split方法以,為分隔符號分開,再replace「」,這兩個東東就可以得到你要的中間的數據了。有個缺點比較佔用內存,或許你也可以去讀文件讀到,的時候就將之前的存起來,然後再讀下面的東西。思路而已試試看吧~

B. Java (文件選擇器) 保存文件

兄弟,從圖片上看看我做的一個小例子,你就會明白的!

C. 怎麼用java儲存文件(save file)

java.io底下有很多類可以寫文件,FileOutStream,RandomAccessFile之類的都行。

D. 如何保存.java格式的文件

但文件類型樓主沒有選啊
保存時的文件類型選擇所有文件。
然後名字為文件名.java就可以了

E. java程序中怎樣用文件存儲數據

對於一些小文件,我們可以一次性讀取它的所有位元組,然後一次提交到資料庫
///
/// 這個方法演示了如何一次提交所有的位元組。這樣導致的結果是:應用程序立即需要申請等同於文件大小的內存
static void SubmitFileByOnce() {
string file = @"F:\功夫熊貓.rmvb";//文件大小為519MB
byte[] buffer = File.ReadAllBytes(file);
using (SqlConnection conn = new SqlConnection("server=(local);database=demo;integrated security=true")) {
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO Files(FileName,FileContents) VALUES(@fileName,@fileContents)";
cmd.Parameters.AddRange(
new[]
{
new SqlParameter("@fileName",file),
new SqlParameter("@fileContents",buffer)
});
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
}

但是,上面的方法有幾個問題,主要體現在如果文件比較大的話
它需要一次性很大的內存,具體數據等同於文件大小。因為File.ReadAllBytes方法是將所有位元組全部讀入到內存。
它會導致提交失敗,就是因為數據太大了。資料庫也會拒絕。
那麼,我就對這個方法做了一下改進,將文件拆分為5MB一段,也就是說,此時每次申請的內存只有5MB。這就大大地提高了可用性。
/// 這個方法是將文件切分為5MB的塊,每次只是提交5MB,所以可能多次提交,但內存佔用就比較小
static void SubmitFileStepByStep() {
string file = @"F:\功夫熊貓.rmvb";//以這個文件為例,大小為519MB,一共需要的時間大約94秒。還是有點慢的,所以還可能需要進行壓縮
FileStream fs = new FileStream(file, FileMode.Open);

byte[] buffer = new byte[5 * 1024 * 1024];
int readCount;
using (SqlConnection conn = new SqlConnection("server=(local);database=demo;integrated security=true"))
{
conn.Open();

while ((readCount = fs.Read(buffer, 0, buffer.Length)) > 0)
{

using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO Files(FileName,FileContents) VALUES(@fileName,@fileContents)";
cmd.Parameters.AddRange(
new[]
{
new SqlParameter("@fileName",file),
new SqlParameter("@fileContents",buffer)
});

cmd.ExecuteNonQuery();
}

}
conn.Close();

}
}

這樣的話,有一個後果就是一個文件,可能在資料庫中會有多條記錄。所以在讀取的時候,我們需要對其進行合並
static void DownloadFile() {
string file = @"F:\功夫熊貓.rmvb";
string destfile = @"E:\Temp\Temp.wmv";
using (SqlConnection conn = new SqlConnection("server=(local);database=demo;integrated security=true"))
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT FileContents FROM Files WHERE FileName=@fileName";
cmd.Parameters.AddRange(
new[]
{
new SqlParameter("@fileName",file),
});
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
FileStream fs = new FileStream(destfile, FileMode.Append, FileAccess.Write);

while (reader.Read())
{
byte[] buffer = (byte[])reader[0];
fs.Write(buffer, 0, buffer.Length);
}
fs.Close();
reader.Close();
conn.Close();
}
}
}

F. java文件保存後為什麼沒有編譯

myeclipse不編譯可能有多重情況,

這兩天eclipse 突然不能自動編譯了,無論怎麼更改保存, classes目錄下都是空的.
在網上找了很多文章,總結如下:
1. 確保 project->build automatically 已經被選上.
2. 如果選上了,也不好使, 使用這一招: project->clean..->選第2個clean select project, 勾上start build immediatelly
3.刪除現在的項目,提前設置好編譯文件輸出路徑,重新導入源文件,設置eclipse為保存時編譯,然後在保存的時候就可以自動編譯了
4.如果項目里引了某個不用的jar包,而那個包又被你刪了,就會出現不報錯但怎麼也編譯不出來class文件的情況。Project-->properties-->Java Build Path-->Libraries,可以把所有包都刪除,然後一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良後果。也可以把有問題的包(會有提示)直接remove掉即可。
5. 想刪掉某個class文件重新生成,刪除class文件後,但classes目錄下的文件夾被其它程序打 開,比如Total Commander。此時編譯也不會通過,在problems下可能會提示「con't delete classes ……」。關掉其它程序重新編譯即可。
6.還有種情況是remove掉 JRE System Library,重新導入即可編譯。但是什麼原因導致的還不清楚。
7.把build path中所有包都remove掉。然後又add jars,add libraries把需要的加進去,居然又開始編譯了。。。
8.project->properties->java build path->source->.../WEB-INF/src的output folder不要默認,編輯讓它指向../WEB-INF/classes
然後重新點擊build工程即可自動編譯。
9.再就是最重要的要看工程下面是否缺少了work目錄,由於CVS控制時不把work加如版本,所以checkout後沒有這個目錄,要手工加上有的工程就能自動編譯了

最開始的時候,我只找到了前面7個方法,但是他們都沒有解決我的問題.無意中我打開了"Problems"標簽,發現裡面說缺少work目錄,手工加上,然後刷新項目就可以了.
最後兩個是我在寫這個總結的時候發現的.特別是第九條,對使用CVS進行版本控制的項目比較有用.
10 看看problem是否有錯誤。

以上都試試。各種情況都可能導致不編譯,還是要靠經驗。

G. java怎樣保存打開就可執行的文件

會生成.

  1. class文件,只能用反編譯軟體看,在你的eclipse工作空間,一般是workspace下的工程中,路徑時你自己指定的.

  2. 編譯輸出路徑的默認位置,普通工程:bin,web工程:WEB-INF/classes,maven工程:target/classes.

H. java 保存文件保存不了

你這代碼寫的,根本就沒有往輸出流寫數據,怎麼可能會有數據呢?另外,新建文件的時候,要確保該文件夾存在,否則會報錯,建議先判斷該文件夾是否存在,如果不存在,則新建該文件夾。
bw.write(buffer.toString());
這句代碼是將buffer裡面的數據寫到文件裡面。

I. java如何保存文件

這是我原來做的例子,裡面有文件儲存的內容,代碼不多,給你參考參考.
/**
* 五個按鈕的故事,西西哈。
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileMessage extends Frame implements ActionListener
{
private static final long serialVersionUID = 10L;
Dialog dia;
private Panel p;
private File fi;
Process po=null;
private String s;
private TextArea ta;
private FileDialog fd;
private Button b1,b2,b3,b4,b5;
private Button b6;
public FileMessage()
{
super("文本文件處理");
setBackground( Color.LIGHT_GRAY );
setLocation(200,300);
setResizable( false);
setVisible( true);
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0);
}
});
}
public void init()
{
ta=new TextArea("\n\n\n\n\n\t\t\t\t文本顯示區");
ta.setSize(30,5);
ta.setEditable(false);
add( ta,"North");
p=new Panel();
add( p,"Center");
b1=new Button("瀏覽");
b2=new Button("保存");
b3=new Button("清空");
b4=new Button("關閉");
b5=new Button("獨立打開");
b6=new Button("確定");
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
fd=new FileDialog(this,"請選擇文件",FileDialog.LOAD);
fd.setDirectory("f:\\note");
pack();
dia=new Dialog(this,"注意",true);
dia.setLayout(new BorderLayout());
Panel p1=new Panel();
p1.add( b6);
dia.add(new Label(" 請先選擇文件"),BorderLayout.CENTER);
dia.add( p1,BorderLayout.SOUTH);
dia.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dia.setVisible( false);
}
});
dia.setLocation(310,370);
dia.setSize(200,130);
}
public static void main(String[] args)
{
new FileMessage().init();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
fd.setVisible(true);
s=fd.getDirectory()+fd.getFile();
fi=new File(s);
byte[] b=new byte[(int)fi.length()];
try
{
new FileInputStream(fi).read(b);
ta.setText(new String(b,0,(int)fi.length()));
}
catch(Exception e1){}
ta.setEditable(true);
}
else if(e.getSource()==b2)
{
try
{
if(ta.getText().equals("保存成功")||ta.getText() .equals( ""))
{}
else
{
new FileOutputStream(fi).write(ta.getText().getBytes());
ta.setText("保存成功");
ta.setEditable(false);
}
}
catch(FileNotFoundException e1)
{
ta.setText(e1.getMessage());
}
catch(IOException e1)
{
ta.setText("出現IOException異常");
}
}
else if(e.getSource()==b4)
System.exit(0);
else if(e.getSource()==b3)
{
ta.setText("");
ta.setEditable( false);
}
else if(e.getSource()==b5)
{
if(s==null)
{
dia.setVisible(true);
}
else
{
try
{
po=Runtime.getRuntime().exec("notepad.exe "+s);
}
catch(Exception ei)
{}
}
}
else if(e.getSource() ==b6)
{
dia.setVisible(false);
}
}
}

J. 在java程序中上傳的文件保存在哪裡

這個問題問的比較詭異我能告訴你的是
上傳和下載的路徑都是你自己定義的文件上傳的道理就是讀流
然後把文件保存到你指定的路徑下面去一般這樣做資料庫設計個欄位
是你保存的路徑肯定是你伺服器中某個文件夾中
下載就是讀路徑
加些固定的下載代碼.

閱讀全文

與java文件保存相關的資料

熱點內容
android系統運行動態編譯的程序 瀏覽:415
計算編程中常用的if語句是 瀏覽:732
linux文件夾許可權亂了 瀏覽:907
程序員職業病預防保健操 瀏覽:676
c程序修改後需不需要重新編譯 瀏覽:721
怎樣把圖片分別放置在文件夾中 瀏覽:871
推流伺服器地址是什麼 瀏覽:630
java允許多重繼承 瀏覽:511
解壓小玩具好玩又可愛 瀏覽:408
騰訊雲大帶寬伺服器 瀏覽:821
加密鎖的售後 瀏覽:268
linux登不上去 瀏覽:729
聯想伺服器休眠後如何喚醒 瀏覽:111
四川話女孩學習編程 瀏覽:322
編譯原理文法區分 瀏覽:1001
教師可以做程序員嘛 瀏覽:637
終結戰場安卓國際服怎麼下載 瀏覽:155
現在的高端伺服器屬於什麼 瀏覽:810
企業銀行解壓流程 瀏覽:447
用app壓縮文件 瀏覽:227