rasool.g 135 ارسال شده در 23 خرداد، ۱۳۹۷ اشتراک گذاری ارسال شده در 23 خرداد، ۱۳۹۷ امشب چند عدد کد برای انتقال و تغییر نام پوشه و فایل پیدا کردم. از اونجایی که کلاس file خود b4a این متد ها رو نداره و بیشتر روش کپی و پاک کردن و یا shell گفته شده بود. گفتم این نمونه کد ها و مثال ها رو هم به اشتراک بزارم. البته کتابخونه های خوبی هم در انجمن وجود داره که میتونید از اون ها هم برای این کار استفاده کنید. کد های زیر رو هم من خودم روی دستگاه های مختلف تست کردم و مشکلی نداشت ولی بازم بهتره از try catch در برنامه استفاده کنید. کد ها و متد های انتقال و تغییر نام برای پوشه و فایل ها هم یکیه (در کد ها از کتابخانه های javaObject ,reflection و Phone که به صورت پیشفرض در b4a موجوده استفاده شده) انتقال یا تغییر نام فایل با shell RenameFile(File.DirRootExternal & "/movr/a/" & fname,File.DirRootExternal & "/movr/b/" & fname) Sub RenameFile(OriginalFileName As String, NewFileName As String) As Boolean Dim Result As Int Dim StdOut, StdErr As StringBuilder StdOut.Initialize StdErr.Initialize Dim Ph As Phone Result = Ph.Shell("mv " & OriginalFileName & " " & NewFileName, Null, StdOut, StdErr) If Result = 0 Then Return True Else Return False End If End Sub انتقال و تغییر نام پوشه با shell RenameFolder(File.DirRootExternal & "/movr","a","newa") Sub RenameFolder(Parent As String, CurrentFolder As String, NewFolder As String) Dim p As Phone Dim args(2) As String args(0) = File.Combine(Parent, CurrentFolder) args(1) = File.Combine(Parent, NewFolder) p.Shell("mv", args, Null, Null) End Sub انتقال و تغییر نام فایل با renameTo RenameFile2(File.DirRootExternal & "/movr/a",fname,File.DirRootExternal & "/movr/b",fname) Sub RenameFile2(SrcDir As String, SrcFilename As String, DestDir As String, DestFilename As String) As Boolean Dim R As Reflector, NewObj As Object, New As String , Old As String New=File.Combine(DestDir,DestFilename) Old=File.Combine(SrcDir,SrcFilename) NewObj=R.CreateObject2("java.io.File",Array As Object(New),Array As String("java.lang.String")) R.Target=R.CreateObject2("java.io.File",Array As Object(Old),Array As String("java.lang.String")) Return R.RunMethod4("renameTo",Array As Object(NewObj),Array As String("java.io.File")) End Sub انتقال و تغییر نام فایل با renameTo روش 2 FileMove(File.DirRootExternal & "/movr/a",fname,File.DirRootExternal & "/movr/b",fname) Sub FileMove(SourceFolder As String, SourceFile As String, TargetFolder As String, TargetFile As String) As Boolean Dim source, target As JavaObject source.InitializeNewInstance("java.io.File", Array(SourceFolder, SourceFile)) target.InitializeNewInstance("java.io.File", Array(TargetFolder, TargetFile)) Return source.RunMethod("renameTo", Array(target)) End Sub انتقال و تغییر نام پوشه با renameTo Try Dim source, target As JavaObject source.InitializeNewInstance("java.io.File", Array(File.DirRootExternal & "/movr/a")) target.InitializeNewInstance("java.io.File", Array(File.DirRootExternal & "/movr/newa")) Msgbox(source.RunMethod("renameTo", Array(target)),"result") Catch Log(LastException) End Try لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.