1. 程式人生 > >Oracle11g的dmp資料檔案改為10g

Oracle11g的dmp資料檔案改為10g

package tool;

import java.io.File;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.List;

public class ModifyOracleVersion {

	public static void main(String[] args) {
		//將資料夾下11g的dmp檔案改為10g
		String dir = "D:\\dmp";
		List<String> fileNameList = getAllFile(dir,false);
		for (int i = 0; i < fileNameList.size(); i++) {
			oracle11gTo10g(fileNameList.get(i));
		}
		
		//單個檔案修改
		//oracle11gTo10g("D:\\exp0902\\acf_app_sm.dmp");
	}

	public static void oracle11gTo10g(String fileName) {
		try {
			RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
			byte b[] = new byte[50];
			raf.read(b);
			for (int i = 0; i < b.length; i++) {
				System.out.print(b[i] + ",");
			}
			//這個是修改成10g:V10.02.01。如果在修改前自己可以截出頭部的幾個位元組確認一下,是不是就是修改第12,18位元組
			b[12] = 48;
			b[18] = 49;
			raf.seek(0);
			raf.write(b);
			raf.close();
			System.out.println("");
		} catch (Exception ex) {

		} finally {

		}
	}

	/**
	 * 遍歷資料夾
	 * @param path
	 * @param list
	 */
	public void traverseFolder(String path,List<String> list) {
        File file = new File(path);
        if (file.exists()) {
            File[] files = file.listFiles();
            if (files.length == 0) {
                System.out.println("資料夾是空的!");
                return;
            } else {
                for (File file2 : files) {
                    if (file2.isDirectory()) {
                        System.out.println("資料夾:" + file2.getAbsolutePath());
                        traverseFolder(file2.getAbsolutePath(),list);
                    } else {
                        System.out.println("檔案:" + file2.getAbsolutePath());
                        list.add(file2.getAbsolutePath());
                    }
                }
            }
        } else {
            System.out.println("檔案不存在!");
        }
    }
	
	  /**
     * 獲取路徑下的所有檔案/資料夾
     * @param directoryPath 需要遍歷的資料夾路徑
     * @param isAddDirectory 是否將子資料夾的路徑也新增到list集合中
     * @return
     */
    public static List<String> getAllFile(String directoryPath,boolean isAddDirectory) {
        List<String> list = new ArrayList<String>();
        File baseFile = new File(directoryPath);
        if (baseFile.isFile() || !baseFile.exists()) {
            return list;
        }
        File[] files = baseFile.listFiles();
        for (File file : files) {
            if (file.isDirectory()) {
                if(isAddDirectory){
                    list.add(file.getAbsolutePath());
                }
                list.addAll(getAllFile(file.getAbsolutePath(),isAddDirectory));
            } else {
                list.add(file.getAbsolutePath());
            }
        }
        return list;
    }
}

相關推薦

Oracle11g的dmp資料檔案10g

package tool; import java.io.File; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; public class Modi

【Ubuntu】將root許可權的檔案使用者許可權

大家在使用ubuntu的時候有沒有遇到下面的情況比如我用VSCode寫html儲存的時候會提示我許可權的問題,讓我用更高的許可權來儲存這個檔案,遇到這個問題的主要原因其實就是因為當前資料夾的許可權為root許可權。而VSCode執行使用的是使用者許可權。 要解決這個問題我們可以對vscode

JS:將只讀檔案可寫檔案

 親測必須將程式碼放在記事本中,改成html格式,在用IE執行(必須) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.d

Ant Design Pro使用技巧之mock資料地址伺服器地址

Ant Design Pro本身提供了較為強大的mock資料的功能。 然而,當如果是單人開發模式或者後臺已經開發完成的情況下,我們更希望在前端開發除錯過程中直接訪問後端服務的介面。 本文主要講述該技巧,即如何將mock資料地址改為伺服器地址 .roadhogrc.mock.js .r

live555讀檔案記憶體讀取實現

        最近遇到有人問live555視訊直播的問題,剛好前段時間接觸過,這個功能可以通過讀記憶體資料實現;         具體實現方式是參考的這篇文章思路,可以先了解一下看看:         http://blog.chinaunix.net/uid-15063

[樂意黎原創] 自動修改資料夾名的bat程式 批量刪除資料夾名的前10位字元(如“1234456789-資料夾”資料夾”

這個是刪後面 @echo off setlocal enabledelayedexpansion set "wxyz=%*" for %%a in (!wxyz!) do ( set wy=%%~a set xz=%%~na set xz=!xz:~0,-7! if "!x

自動FTP上傳,並將檔案當時準確時間名稱

@Echo Off Echo open 192.168.1.246>ftp.up Echo wx >>ftp.up Echo wx >>ftp.up Echo bin

IDEA下maven的mapper.xml檔案路徑resources資料夾下

在IDEA下建立maven專案時, 使用SSM框架,需要把mapper.xml 檔案放在resources資料夾下,這樣target資料夾才有mapper.xml檔案,否則是沒有的. 相關配置檔案: application-dao.xml <beans

opencv3.3 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存 Unicode 格式以防止資料丟失

VS2015 + opencv3.3 執行報錯: warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失  error C2065: “ptr”: 未宣告的識別符號 error C2065: “ptr”:

VS2017 報錯該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存 Unicode 格式以防止資料丟失

尤其程式碼是從linux平臺複製過來: 報錯如圖: 更有甚者基本函式都報錯: 當下檢查發現if else break case等基本函式並無問題時,報錯行數明顯不一致等一定要注意文件編碼格式, 最簡單的辦法是用notepad++,逐個將.

如何使.xml檔案像.java檔案一樣在編寫時自動提示程式碼!(從檢視編輯原始碼編輯)

在Eclipse中開啟.xml檔案時,若沒有進行設定會以這種方式開啟(不怎麼適合編輯!): 但是我們強制將開啟方式改成text editor的時候,又會變成這種方式(沒有提示也不怎麼方便編輯): 網上一堆神仙,給的答案都不是我想要的!終於讓我發現了: 左下角有:Desi

Oracle 10g使用amdu抽取資料檔案

環境:OEL 5.7 + Oracle 10.2.0.5 RAC 需求:實驗在Oracle 10g環境使用amdu抽取資料庫檔案 本文主要目的是介紹3個知識點: 1.使amdu可以在oracle 10g環境中使用 2.使kfed可以在oracle 10g環境中使用 3.amdu如何抽取損壞的

java 將資料夾壓縮zip壓縮檔案

還記得壓縮檔案是我剛入職時,師傅讓我完成的案例,當時把我愁的哦。剛才用到,才發現忘得差不多了。哎,都是不長回頭惹的禍啊。回頭看了下 在這裡記錄下。方便自己也方便了他人麼,不足地方請各位指出呢! 其實壓縮檔案並不是太難,在這裡主要就是對IO流、ZIP的運用,挺有意思的一個案例。 現在對過程捋一

資料請求引數檔案和其他型別引數時的寫法

@POST("/user/snatchOrder/updateUserInformation") @Multipart //引數有檔案時用這個 Observable<Object> getmylisticon(@Part MultipartBody.Part

python讀取檔案資料讀入字元型數字,轉換成數值型

import pandas as pdimport numpy as nppath='result.csv'order=open(path).readlines()//list型別,不過list裡存放的不是int型數值是字元型print(len(order))//獲取長度20

資料預處理:讀取檔案資料,並存python陣列

檔案的簡單讀取 # 定義一個將檔案中的資料轉化為陣列的類 import numpy as np class DataUtil: # =============================================================================

Java jxl 操作Excel資料檔案型別xls)

Maven檔案如下: <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <ver

QT和VS讀取.txt檔案中的資料並儲存陣列

QT中讀取.txt檔案並儲存為陣列 QFile fpx("/work/qt_workspace/saly/pix_x.txt"); QFile fpy("/work/qt_workspace/saly/pix_y.txt"); // QVector&l

IE11下載檔案時,副檔名自動由點下劃線

Win7 + IE11, 在網頁一般下載時,會發現副檔名與檔名混雜在一起,副檔名由點改為下劃線。檔案不能正常開啟,須先將下劃線改為點才可以開啟。解決的辦法有兩種: 方法1:新增郵箱網站域名到相容性檢視列表。按下Alt鍵啟用選單欄,在“工具”選單下開啟“相容性檢視設定”對話方

【深度學習】【caffe實用工具3】筆記25 Windows下caffe中將影象資料集合轉換DB(LMDB/LEVELDB)檔案格式之convert_imageset

/********************************************************************************************************************************* 檔案說明: