怎樣把數據寫入文件
㈠ c語言怎麼將數據寫入文件
利用VC軟體通過代碼書寫就可以將數據寫入文件。
㈡ 怎麼把數據流直接寫入到文件 在線等
我要是作這個的話,我會用到兩個模板,第一個中只存
姓名,年齡地址
電話,性別
將標簽設置好,然後用程序從資料庫中將要寫入的數據取出,並用設置標簽
的方法,將數據寫入word中去
,
第二個
是一個空的模板,裡面只有一個標簽
將第一個模板設置好後,用程序將整個模板中的數據全部取出,用同樣的方法,寫入到第二個模板中去
這個就是你想要的格式了,
至於用什麼組件,我看都一樣。
㈢ C語言中,如何把數組里的數據寫入文件
使用for循環語句+文件操作函數即可把數組里的數據寫入文件。
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。一般的C語言教程都有文件操作一章,可以找本教材進一步學習。2、常式:
#include<stdio.h>
int i,a[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打開輸入文件
FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
puts("不能打開文件!");
rturn 0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//從輸入文件連續讀取整數到數組a
for(;i--;)fscanf(fp2,"%d ",a[i]);//把數組a逆序寫入到輸出文件當中
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return 0;
}
㈣ 怎麼將數據輸入到文件
先輸入到excel,第一列輸入 點號,第二列輸入 編碼(可以和點名一樣或空的不輸),第三列輸入 Y坐標,第四列輸入 X坐標,第五列輸入 高程,然後保存成CSV逗號格式,找到保存文件直接把.csv 改成.dat 打開cass7.0--繪圖處理--展野外測點點號 就OK了。
㈤ c語言怎麼將數據寫入文件
可以使用C語言中的文件操作函數,將數據寫入文件。具體如下
一、打開文件。
使用fopen函數。格式為:
FILE *fopen(const char *name, const char * mode);
其中name為要寫入的文件名,mode為格式字元。要寫入文件,mode可以是:
1、 "w" 只寫方式,文本形式輸入;
2、"wb" 只寫方式,二進制形式輸入;
3、"wb+" 讀寫方式,二進制形式輸入;
4、"w+" 讀寫方式,文本形式輸入;
5、"a" 追加方式,寫入文件結尾,文本形式輸入;
6、"ab" 追加方式,寫入文件結尾,二進制形式輸入;
7、"ab+" 追加方式,可讀寫,寫入文件結尾,二進制形式輸入;
8、"a+" 追加方式,可讀寫,寫入文件結尾,文本形式輸入;
二、寫入數據。
可以使用各種寫入函數,向文件寫入。 如打開的文件指針為fp,可以使用如下函數:
1、 fputc, 寫入一個字元。聲明為:
int fputc(int ch, FILE *fp);
2、fputs, 寫入一個字元串,聲明為:
char * fputs(const char *str, FILE *fp);
3、fprintf,格式化寫入,功能和printf類似。 聲明為:
int fprintf(FILE *fp, const char *fmt, ...);
4、 fwirte, 按塊寫入二進制數據,聲明為:
int fwirte(char *buf, int block_size, int block_number, FILE *fp);
三、寫入完畢後,調用fclose關閉文件:
int fclose(FILE *fp);
㈥ 怎樣將比較大的數據完整寫入文件
最近利用空閑時間自己在寫一個文件備份工具,因為我磁碟上的很多文件很重要,例如很多PPT和講義。所以需要經常備份,而且因為這些文件很多,所以需要增量備份。
我嘗試用過windows自帶的ntbackup工具,但感覺不是很爽。它不支持壓縮備份,而且界面也有點復雜。
為了響應偉大領袖的「自力更生,豐衣足食」的號召,咱決定自己寫一個工具,專門備份到資料庫。支持壓縮,支持加密,支持增量。
本文分享一下其中一些重點的技術細節
其中一個關鍵的技術就是將文件使用二進制的方式存放在資料庫的varbinary(max)的欄位中。該欄位最大允許的長度為2GB。
對於一些小文件,我們可以一次性讀取它的所有位元組,然後一次提交到資料庫
/// <summary>
/// 這個方法演示了如何一次提交所有的位元組。這樣導致的結果是:應用程序立即需要申請等同於文件大小的內存
/// </summary>
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();
}
}
}
但是,上面的方法有幾個問題,主要體現在如果文件比較大的話
1. 它需要一次性很大的內存,具體數據等同於文件大小。因為File.ReadAllBytes方法是將所有位元組全部讀入到內存。
2. 它會導致提交失敗,就是因為數據太大了。資料庫也會拒絕。
那麼,我就對這個方法做了一下改進,將文件拆分為5MB一段,也就是說,此時每次申請的內存只有5MB。這就大大地提高了可用性。
/// <summary>
/// 這個方法是將文件切分為5MB的塊,每次只是提交5MB,所以可能多次提交,但內存佔用就比較小
/// </summary>
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();
}
}
}
㈦ java如何從資料庫讀取數據並寫入txt文件
寫Java程序時經常碰到要讀如txt或寫入txt文件的情況,但是由於要定義好多變數,經常記不住,每次都要查,特此整理一下,簡單易用,方便好懂!
[java]viewplain
packagee.thu.keyword.test;
importjava.io.File;
importjava.io.InputStreamReader;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileInputStream;
importjava.io.FileWriter;
publicclasscin_txt{
staticvoidmain(Stringargs[]){
try{//防止文件建立或讀取失敗,用catch捕捉錯誤並列印,也可以throw
/*讀入TXT文件*/
Stringpathname="D:\twitter\13_9_6\dataset\en\input.txt";//絕對路徑或相對路徑都可以,這里是絕對路徑,寫入文件時演示相對路徑
Filefilename=newFile(pathname);//要讀取以上路徑的input。txt文件
InputStreamReaderreader=newInputStreamReader(
newFileInputStream(filename));//建立一個輸入流對象reader
BufferedReaderbr=newBufferedReader(reader);//建立一個對象,它把文件內容轉成計算機能讀懂的語言
Stringline="";
line=br.readLine();
while(line!=null){
line=br.readLine();//一次讀入一行數據
}
/*寫入Txt文件*/
Filewritename=newFile(".\result\en\output.txt");//相對路徑,如果沒有則要建立一個新的output。txt文件
writename.createNewFile();//創建新文件
BufferedWriterout=newBufferedWriter(newFileWriter(writename));
out.write("我會寫入文件啦 ");// 即為換行
out.flush();//把緩存區內容壓入文件
out.close();//最後記得關閉文件
}catch(Exceptione){
e.printStackTrace();
}
}
}
㈧ C語言:如何將數據寫入文件
原因:
使用fopen時參數不正確,你是用 w參數,若文件存在則文件長度清為0,即該文件內容會消失。每次都是重新清空並寫數據, 將w修改為a即可.
fopen函數說明見下方:
---------------
FILE * fopen(const char * path,const char * mode);
[編輯本段]函數說明
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r 打開只讀文件,該文件必須存在。
r+ 打開可讀寫的文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,只允許讀寫數據。
rt+ 讀寫打開一個文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
wt+ 讀寫打開或著建立一個文本文件;允許讀寫。
at+ 讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。