- ファイルサーバ (\\ndata01\...) のUNCパスをローカルドライブに割り当てる(下記リンク先参考)
- URL(http://...やhttps://...)でアクセスする (ftp/scp/smb等http以外はNG)
- ローカルドライブにコピーしてからアクセスする
"dmatrix=readmatrix("data.txt")"で大きなデータを読み込む際に,"fread failed: error : Invalid argument for \\filepath of data.txt"と表示された。しかし,data.txtが問題なく読まれたようであるが、そのエラーの原因などをご教示願いします。
7 ビュー (過去 30 日間)
古いコメントを表示
b=readmatrix("Euler_angles");
>> ReadEulerAngles
fileStream::DetectCharset():fread failed: error : Invalid argument for \\ndata01\documents\0020_オーステナイト系ステンレス鋼溶接部\溶接CAFDデータ(2023.4.17) 1620度 CAセル0.63mm\Euler_angles.txt
4 件のコメント
Atsushi Ueno
2023 年 4 月 30 日
なるほど確かにサイズの大きいファイルですね。下記を確認すると問題の原因を切り分ける事が出来ると思います。
- ローカルパスの場所に5.6GB程度のファイルを置いてアクセスしても同じエラーが出るか
- UNCパスの当該箇所に数MB程度のファイルを置いてアクセスしても同じエラーが出るか
ワークスペースに読み込む配列サイズの最大値は以下の方法で設定でき、OSで管理されるメモリを最大限まで使える様に設定できます。[ホーム] タブの [環境] セクションで [基本設定] をクリック、 [MATLAB] 、 [ワークスペース] を選択します。※ MATLAB Online では「最大配列サイズの基本設定」が環境によって設定され、変更出来ない様です。私が試したMATLAB Online 環境では「最大配列サイズの基本設定」が 5.0GB でした。

fileStream::DetectCharset():fread failed: error : Invalid argument
上記のエラーはやはりパスに下記の様な原因があるのではないかと思います。
- UNCパス
- パスに含まれる2バイト文字
- パスに含まれる(半角)スペース文字
Atsushi Ueno
2023 年 4 月 30 日
>ファイルサイズが小さな場合にはこのような問題がなかったのですが、
すいません。そういう事でしたね。
大きなファイルにアクセスする為の方法を用いるのは如何でしょうか?
回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!