本文目錄一覽:
- 1、需要一份500行的java程序,期末大作業,最好帶詳細注釋。
- 2、大學java期末考試求求大家幫忙
- 3、高分求做簡單JAVA期末考試
- 4、西安電子科技大學java期末有上機考試嗎?
- 5、java期末考試!!求助!!!
需要一份500行的java程序,期末大作業,最好帶詳細注釋。
Java生成CSV文件簡單操作實例
CSV是逗號分隔文件(Comma Separated Values)的首字母英文縮寫,是一種用來存儲數據的純文本格式,通常用於電子表格或數據庫軟件。在 CSV文件中,數據“欄”以逗號分隔,可允許程序通過讀取文件為數據重新創建正確的欄結構,並在每次遇到逗號時開始新的一欄。如:
123 1,張三,男2,李四,男3,小紅,女
Java生成CSV文件(創建與導出封裝類)
package com.yph.omp.common.util;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;
/**
* Java生成CSV文件
*/
public class CSVUtil {
/**
* 生成為CVS文件
*
* @param exportData
* 源數據List
* @param map
* csv文件的列表頭map
* @param outPutPath
* 文件路徑
* @param fileName
* 文件名稱
* @return
*/
@SuppressWarnings(“rawtypes”)
public static File createCSVFile(List exportData, LinkedHashMap map,
String outPutPath, String fileName) {
File csvFile = null;
BufferedWriter csvFileOutputStream = null;
try {
File file = new File(outPutPath);
if (!file.exists()) {
file.mkdir();
}
// 定義文件名格式並創建
csvFile = File.createTempFile(fileName, “.csv”,
new File(outPutPath));
// UTF-8使正確讀取分隔符”,”
csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(csvFile), “GBK”), 1024);
// 寫入文件頭部
for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator
.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator
.next();
csvFileOutputStream
.write(“\”” + (String) propertyEntry.getValue() != null ? (String) propertyEntry
.getValue() : “” + “\””);
if (propertyIterator.hasNext()) {
csvFileOutputStream.write(“,”);
}
}
csvFileOutputStream.newLine();
// 寫入文件內容
for (Iterator iterator = exportData.iterator(); iterator.hasNext();) {
Object row = (Object) iterator.next();
for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator
.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator
.next();
/*——————————-*/
//以下部分根據不同業務做出相應的更改
StringBuilder sbContext = new StringBuilder(“”);
if (null != BeanUtils.getProperty(row,(String) propertyEntry.getKey())) {
if(“證件號碼”.equals(propertyEntry.getValue())){
//避免:身份證號碼 ,讀取時變換為科學記數 – 解決辦法:加 \t(用Excel打開時,證件號碼超過15位後會自動默認科學記數)
sbContext.append(BeanUtils.getProperty(row,(String) propertyEntry.getKey()) + “\t”);
}else{
sbContext.append(BeanUtils.getProperty(row,(String) propertyEntry.getKey()));
}
}
csvFileOutputStream.write(sbContext.toString());
/*——————————-*/
if (propertyIterator.hasNext()) {
csvFileOutputStream.write(“,”);
}
}
if (iterator.hasNext()) {
csvFileOutputStream.newLine();
}
}
csvFileOutputStream.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
csvFileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return csvFile;
}
/**
* 下載文件
*
* @param response
* @param csvFilePath
* 文件路徑
* @param fileName
* 文件名稱
* @throws IOException
*/
public static void exportFile(HttpServletRequest request,
HttpServletResponse response, String csvFilePath, String fileName)
throws IOException {
response.setCharacterEncoding(“UTF-8”);
response.setContentType(“application/csv;charset=GBK”);
response.setHeader(“Content-Disposition”, “attachment; filename=”
+ new String(fileName.getBytes(“GB2312”), “ISO8859-1”));
InputStream in = null;
try {
in = new FileInputStream(csvFilePath);
int len = 0;
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
while ((len = in.read(buffer)) 0) {
out.write(buffer, 0, len);
}
} catch (FileNotFoundException e1) {
System.out.println(e1);
} finally {
if (in != null) {
try {
in.close();
} catch (Exception e1) {
throw new RuntimeException(e1);
}
}
}
}
/**
* 刪除該目錄filePath下的所有文件
*
* @param filePath
* 文件目錄路徑
*/
public static void deleteFiles(String filePath) {
File file = new File(filePath);
if (file.exists()) {
File[] files = file.listFiles();
for (int i = 0; i files.length; i++) {
if (files[i].isFile()) {
files[i].delete();
}
}
}
}
/**
* 刪除單個文件
*
* @param filePath
* 文件目錄路徑
* @param fileName
* 文件名稱
*/
public static void deleteFile(String filePath, String fileName) {
File file = new File(filePath);
if (file.exists()) {
File[] files = file.listFiles();
for (int i = 0; i files.length; i++) {
if (files[i].isFile()) {
if (files[i].getName().equals(fileName)) {
files[i].delete();
return;
}
}
}
}
}
@SuppressWarnings({ “unchecked”, “rawtypes” })
@Test
public void createFileTest() {
List exportData = new ArrayListMap();
Map row1 = new LinkedHashMapString, String();
row1.put(“1”, “11”);
row1.put(“2”, “12”);
row1.put(“3”, “13”);
row1.put(“4”, “14”);
exportData.add(row1);
row1 = new LinkedHashMapString, String();
row1.put(“1”, “21”);
row1.put(“2”, “22”);
row1.put(“3”, “23”);
row1.put(“4”, “24”);
exportData.add(row1);
LinkedHashMap map = new LinkedHashMap();
map.put(“1”, “第一列”);
map.put(“2”, “第二列”);
map.put(“3”, “第三列”);
map.put(“4”, “第四列”);
String path = “d:/export”;
String fileName = “文件導出”;
File file = CSVUtil.createCSVFile(exportData, map, path, fileName);
String fileNameNew = file.getName();
String pathNew = file.getPath();
System.out.println(“文件名稱:” + fileNameNew );
System.out.println(“文件路徑:” + pathNew );
}
}
//註:BeanUtils.getProperty(row,(String) propertyEntry.getKey()) + “\t” ,只為解決數字格式超過15位後,在Excel中打開展示科學記數問題。
大學java期末考試求求大家幫忙
%!
int a=20;
%
%a+=2;%
%a%
更多科目問題請追問
高分求做簡單JAVA期末考試
1. Application 創建一個類,然後寫一個主函數,再寫一些程序在主函數里就是一個簡單的Appliction
Applet 創建一個類繼承Applet類,然後實現init,start,destory方法,這個就可以了
2. Java接口,Java語言中存在的結構,有特定的語法和結構; 包就是一個文件夾
3. 多態包括重載和重構 最通俗的程序例子,昨天剛寫的
/**
簡單的通俗的講:
繼承就是兒子繼承了父親,一個類內有一個父親,但一個父親可以有多個兒子
多態就是兒子雖然繼承了父親的一些特性,但有些特性有了改變
封裝就是有些東西兒子是父親獨有的兒子繼承不了
*/
class FatherClass {
//FatherClass的成員變量
//父親公開的屬性兒子,孫子,侄子都能訪問 a
public int a;
//父親私有的屬性,兒子繼承不了,在子類中也不能訪問 b
private int b;
//FatherClass的成員方法
//父親公開的方法兒子,孫子,侄子都能訪問 eat
public void eat(){
System.out.println(“Father eat!”);
}
public void drink(){
System.out.println(“Father drinking!”);
}
//父親私有的方法,兒子繼承不了,在子類中也不能訪問 方法height
private void height(){
System.out.println(“Father height!”);
}
//父親的最終方法poor,也就是說兒子不能覆蓋這個方法(兒子不能有和父親方法頭一樣的函數)
public final void poor(){
System.out.println(“Father poor!”);
}
}
class SubClass extends FatherClass {
//雖繼承了父親的吃方法,但兒子又拓展了父親的吃方法,要帶餐具(多態中的一:重載)
public void eat(String tool){
System.out.println(tool+” :Son eat!”);
}
//和父親的喝方法一樣,不過這是兒子自己的喝方法,不是從父親那裡來的(多態中的二:覆蓋或重寫或重構)
public void drink(){
System.out.println(“Son drinking!”);
}
public static void print(){
System.out.println(“Static Function!”);
}
}
public class ExtendsTest {
public static void main(String[] args) {
SubClass sc=new SubClass();
sc.eat();//兒子繼承了父親的吃方法,可以直接使用
sc.eat(“Bowl”);//雖然兒子繼承了父親的吃方法,可是兒子也有自己的吃方法(拓展了),得用餐具吃
sc.drink();//這裡調用的是兒子的喝方法而不是父親的噢,父親的被兒子覆蓋了
//sc.height();//父親私有的兒子不能使用
SubClass.print();//靜態方法直接使用 類名.方法名 調用
}
}
5.
面向對象特徵:繼承,多態,封裝
6.
import java.util.Scanner;
public class CountNum {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print(“請輸入一個整數:”);
int number=sc.nextInt();
int sum=0;
for(int i=1;i=number;i++){
sum+=i;
}
System.out.println(“1+2+…+number=”+sum);
}
}
7.
public class Student {
private long id;
private String name;
private int age;
boolean sex;
String phone;
public Student(long i, String n, int a, boolean s, String p) {
this.id = i;
this.name = n;
this.age = a;
this.sex = s;
this.phone = p;
}
int getage() {
return age;
}
boolean getsex() {
return sex;
}
Long getphone() {
return Long.parseLong(phone);
}
public String tostring() {
return name;
}
}
還不多呢
總算弄完了,,
呵呵…………
祝你好運哈。。。
西安電子科技大學java期末有上機考試嗎?
有上機考試。可以提前搜索了解歷年的考試題目進行練習上機操作,根據導師上課的重點要求多複習。
java期末考試!!求助!!!
1.
第一種:
當X=10時 X-1=X; 無效表達式
當X=10時 X-=3; 等價於 X=X-3; 運算後x的值:7
當X=10時 X*=1+2; 等價於 X=X*(1+2); 運算後x的值:30
當X=10時 X%=5; 等價於 X=X%5; 運算後x的值:0
第二種:
如果是問 X 經過後三個表達式運算後的值(第一個表達式是錯的):
X=X-3; 此時 X=7
X=X*(1+2); 此時 X=21
X=X%5; 此時 X=1
最後X為1
2.
當a=6; b=-4;時 –a%++b; 等價於 (a-1)%(b+1); 運算後的值:2
當a=6; b=-4;時 (–a)a;; 等價於 (a-1)a; 運算後的值:160
位運算
a-1的值為5
5的二進制為 101
55 表示把五的二進制向左移動5位 即101 00 000換十進制為160
當a=6; b=-4;時 (a10 a10 ? a:b); 等價於
如果a小於10 並且 a大於10 表達式的值為a也就是6 否則表達式的值為b 即-4
一個數不可能同時小於10又大於10 所以 表達式的值為b 也就是-4
原創文章,作者:SVQG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143066.html