本文目錄一覽:
.dbf 資料庫怎麼建啊
.dbf 是一種特殊的文件格式,表示資料庫文件,Foxbase,Dbase,Visual FoxPro,等資料庫處理系統所產生的資料庫文件。
創建方法:
.dbf文件是數據表,.dbc文件是資料庫,在VFP中,點擊文件菜單中的新建菜單項,打開新建對話框,在內選.dbf單選項後,點新建按鈕即可打開創建對話框,根據提示就可建了。
打開方式 :
DBF Viewer Pro 是一個用於 Windows 下的 DBF 資料庫文件管理器。
可用FOXPRO打開 。
還可用EXCEL進行打開。
jsp如何實現下載dbf文件
1.最直接最簡單的,方式是把文件地址直接放到html頁面的一個鏈接中。這樣做的缺點是把文件在伺服器上的路徑暴露了,並且還無法對文件下載進行其它的控制(如許可權)。這個就不寫示例了。
2.在伺服器端把文件轉換成輸出流,寫入到response,以response把文件帶到瀏覽器,由瀏覽器來提示用戶是否願意保存文件到本地。(示例如下)
%
response.setContentType(fileminitype);
response.setHeader(“Location”,filename);
response.setHeader(“Cache-Control”, “max-age=” + cacheTime);
//filename應該是編碼後的(utf-8)
response.setHeader(“Content-Disposition”, “attachment; filename=” + filename);
response.setContentLength(filelength);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream(filepath);
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
inputStream.close();
outputStream = null;
%
3.既然是JSP的話,還有一種方式就是用Applet來實現文件的下載。不過客戶首先得信任你的這個Applet小程序,由這個程序來接受由servlet發送來的數據流,並寫入到本地。
servlet端示例
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType(” text/plain “);
OutputStream outputStream = null;
try {
outputStream = res.getOutputStream();
//把文件路徑為srcFile的文件寫入outputStream中
popFile(srcFile, outputStream)) ;
} catch (IOException e) {
e.printStackTrace();
}
}
JApplet端示例
URLConnection con;
try {
//url是被調用的SERVLET的網址 如 *.do
con = url.openConnection();
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty(“Content-Type”,
“application/octet-stream”);
InputStream in = con.getInputStream();
ProgressMonitorInputStream pmInputStream = new ProgressMonitorInputStream
(pane, “正在從伺服器下載文件內容”, in);
ProgressMonitor pMonitor = pmInputStream.getProgressMonitor();
pMonitor.setMillisToDecideToPopup(3);
pMonitor.setMillisToPopup(3);
//localfilepath本地路徑,localstr文件文件夾,filename本地文件名
String localfilepath = localstr + filename ;
//方法saveFilsaveFilee是把輸入流pmInputStream寫到文件localfilepath中
if(saveFilsaveFilee(localfilepath,pmInputStream)){
openLocalFile(localfilepath);
}
4.順便把JApplet上傳文件的代碼也貼上來.
JApplet端示例
URLConnection con;
try {
con = url.openConnection();
//url是被調用的SERVLET的網址 如 *.do
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty(“Content-Type”,”application/octet-stream”);
OutputStream out = con.getOutputStream();
//localfilepath本地路徑,localstr文件文件夾,filename本地文件名
String localfilepath = localstr + filename;
//文件getOutputStream是把文件localfilepath寫到輸出流out中
getOutputStream(localfilepath,out);
InputStream in = con.getInputStream();
return true;
}catch (IOException e) {
System.out.println(“文件上傳出錯!”);
e.printStackTrace();
}
servlet端代碼示例
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType(” text/plain “);
InputStream inputStream = null;
try {
inputStream = res.getInputStream();
//把輸入流inputStream保存到文件路徑為srcFile的文件中
writefile(srcFile, inputStream);
} catch (IOException e) {
e.printStackTrace();
}
} // end service
總結:在文件的傳輸中是流的形式存在的,在硬碟上是文件的形式存在的。我們要做的只是通過HttpServletRequest和HttpServletResponse,或者是response和request來發送流和讀取流。以及把文件轉換成流或把流轉換成文件的操作。
.dbf格式的資料庫是什麼資料庫?
dbf是Digital
Beam
Forming的縮寫,譯為數字波束形成
或數字波束合成,廣泛應用於陣列信號處理領域,還表示一種資料庫文件。
DBF
資料庫可以分為
dBase
III
、foxpro
格式兩類。
DBF
資料庫是常用的桌面型資料庫,它曾經被各企業、事業單位廣泛使用。現在,雖然已經有了很多的各種各樣的小、中、大型資料庫,DBF
資料庫依然被很多單位用於數據交換。
打開方式:
DBF
Viewer
Pro
是一個用於
Windows
下的
DBF
資料庫文件管理器。
可用FOXPRO打開.
還可用EXCEL進行打開.
做jsp網頁程序,能往本地寫dbf文件數據么
不可以,只能寫到伺服器的文件系統中,然後通過網路協議下載是可以的。
如何用java操作.dbf資料庫
1.引入javadbf.4.1.jar
2.
import com.linuxense.javadbf.DBFField;
import com.linuxense.javadbf.DBFReader;
3.實例
package com.realhope.jdbf;
import java.io.FileInputStream;
import java.io.InputStream;
import com.linuxense.javadbf.DBFField;
import com.linuxense.javadbf.DBFReader;
public class readDBF {
public static void readDBF(String path) {
InputStream fis = null;
try {
// 讀取文件的輸入流
fis = new FileInputStream(path);
// 根據輸入流初始化一個DBFReader實例,用來讀取DBF文件信息
DBFReader reader = new DBFReader(fis);
// 調用DBFReader對實例方法得到path文件中欄位的個數
int fieldsCount = reader.getFieldCount();
// 取出欄位信息
for (int i = 0; i fieldsCount; i++) {
DBFField field = reader.getField(i);
System.out.print(field.getName());
}
Object[] rowValues;
// 一條條取出path文件中記錄 rowValues.length;
while ((rowValues = reader.nextRecord()) != null) {
for (int i = 0; i rowValues.length; i++) {
System.out.println(rowValues[i]);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (Exception e) {
}
}
}
public static void main(String[] args) {
readDBF.readDBF(“Y:/dbf/01-04-2013/sjshq.DBF”);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259101.html