Sockett+JDBC+IOはJavaファイルのアップロードを実現します。


このデモが実現した機能は:
1.ユーザ登録:
登録する時に二回パスワードを入力してください。二回入力が一致しないと登録に失敗します。再入力が必要です。ユーザー名が登録されている場合、ユーザー名の再入力をユーザに促す。
2.ユーザ登録:
データベースに対応するユーザ名とパスワードがあるかどうかを検証したいです。パスワードを3回間違えたら、ユーザの登録操作を終了します。
3.ファイルアップロード:
ローカルからファイルをファイルデータベースにアップロードします。
4.ファイルのダウンロード:
データベースからファイルをローカルにダウンロードします。
5.ファイル更新:
IDによってデータベースのファイル名を更新できます。
6.ファイル削除:
IDに基づいてデータベース中のファイルを削除します。
7.データベースのすべてのファイルを見ます。
8.ファイルを表示する(ユーザ名による);
9.ファイルを見る(ファイルIDによる);
コードは以下の四つの部分に分けられます。Entity、Service、Socket、Util
エンティティーには主にユーザーエンティティとファイルエンティティが格納されています。
Userクラス:

package Entity;
import java.io.Serializable;
/**
 *    
 * @author Administrator
 *
 */
public class User implements Serializable{
 //  
 private int id;
 private String username;
 private String password;
 //  
 //    
 public User(){
 super();
 }
 public User(String username, String password) {
 super();
 this.username = username;
 this.password = password;
 }
 //Getter,Setter  
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getUsername() {
 return username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
}
ファイルクラス:

package Entity;
import java.io.Serializable;
import java.util.Arrays;
/**
 *      
 * @author Administrator
 *
 */
public class FileEntity implements Serializable {
 //  
 private int fid;
 private String username;//    ,             
 public String getUsername() {
 return username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 private String fname;
 private byte[] fcontent;
 //  
 //    
 public FileEntity(){
 super();
 }
 public FileEntity(String username,String fname, byte[] fcontent) {
 super();
 this.username=username;
 this.fname = fname;
 this.fcontent = fcontent;
 }
 //Getter,Setter  
 public int getFid() {
 return fid;
 }
 public void setFid(int fid) {
 this.fid = fid;
 }
 public String getFname() {
 return fname;
 }
 public void setFname(String fname) {
 this.fname = fname;
 }
 public byte[] getFcontent() {
 return fcontent;
 }
 public void setFcontent(byte[] fcontent) {
 this.fcontent = fcontent;
 }
 @Override
 public String toString() {
 return "FileEntity [fid=" + fid + ", username=" + username + ", fname="
  + fname + "]";
 }
}
サービス:ユーザーサービスとファイルサービスの種類を含む
UserSevice類には、ユーザに関する登録や登録機能に関する方法が含まれています。

package Service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Util.DBUtil;
import Entity.User;
public class UserService {
 private Connection conn=null;
 private PreparedStatement pstmt=null;
 private ResultSet rs=null;
 /**
 *   
 */
 public boolean login(User user){
 String sql="select * from tb_user where username=? and password=?";
 try{
  conn=DBUtil.getConnection();
 pstmt=conn.prepareStatement(sql);
 pstmt.setString(1, user.getUsername());
 pstmt.setString(2, user.getPassword());
 rs=pstmt.executeQuery();
 if(rs.next()){
  return true;
 }
 }catch(SQLException e){
  e.printStackTrace();
 }finally{
  DBUtil.CloseAll(rs, pstmt, conn);
 }
 return false;
 }
 /**
 *   
 */
 public void register(User user){
 String sql="insert into tb_user(username,password)value(?,?)";
  try {
   conn=DBUtil.getConnection();
  pstmt=conn.prepareStatement(sql);
  pstmt.setString(1, user.getUsername());
  pstmt.setString(2, user.getPassword());
  pstmt.executeUpdate();
 } catch (SQLException e) {
  e.printStackTrace();
 }finally{
  DBUtil.CloseAll(rs, pstmt, conn);
 }
 }
 /**
 *   tb_user,           
 */
 public boolean queryByUsername(String username){
 conn=DBUtil.getConnection();
 String sql="select * from tb_user where username=?";
 try {
  pstmt=conn.prepareStatement(sql);
  pstmt.setString(1, username);
  rs=pstmt.executeQuery();
  if(rs.next()){
  //        ,         
  return true;
  }
 } catch (SQLException e) {
  e.printStackTrace();
 }
 return false;
 }
}
ファイルサービスクラス:

 package Service;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import Entity.FileEntity;
import Util.DBUtil;
public class FileService {
 private Connection conn=null;
 private PreparedStatement pstmt=null;
 private ResultSet rs=null;
 /**
 *         ,         
 * @param fileEntity
 */
以上は小编が绍介したSockett+JDBC+IOがJavaファイルのアップロードを実现してDEMOをダウンロードして详しく解决します。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。