java期末,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-tw/n/143066.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SVQG的頭像SVQG
上一篇 2024-10-14 18:45
下一篇 2024-10-14 18:45

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論